Index: /applications/editors/josm/plugins/gpsblam/src/org/openstreetmap/josm/plugins/gpsblam/GPSBlamMode.java
===================================================================
--- /applications/editors/josm/plugins/gpsblam/src/org/openstreetmap/josm/plugins/gpsblam/GPSBlamMode.java	(revision 33257)
+++ /applications/editors/josm/plugins/gpsblam/src/org/openstreetmap/josm/plugins/gpsblam/GPSBlamMode.java	(revision 33258)
@@ -24,5 +24,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.mapmode.MapMode;
-import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
 import org.openstreetmap.josm.gui.layer.LayerManager.LayerChangeListener;
@@ -33,5 +32,4 @@
 
     Point pointPressed;
-    MapFrame frame;
     private Point oldP2;
     int radius;
@@ -146,6 +144,6 @@
 
     private void xorDrawBox(Point p1, Point p2, int radius){
-        if (frame != null) {
-            Graphics2D g = (Graphics2D)Main.map.mapView.getGraphics();
+        if (Main.map != null) {
+            Graphics2D g = (Graphics2D) Main.map.mapView.getGraphics();
             g.setXORMode(Color.BLACK);
             g.setColor(Color.WHITE);
@@ -188,5 +186,5 @@
 
     private void paintBox(Point p2, int newRadius) {
-        if (frame != null) {
+        if (Main.map != null) {
             if (oldP2 != null) {
                 xorDrawBox(pointPressed, oldP2, radius); // clear old box
@@ -195,8 +193,4 @@
             oldP2 = p2;
         }
-    }
-
-    public void setFrame(MapFrame mapFrame) {
-        frame = mapFrame;
     }
 
@@ -215,5 +209,5 @@
         if (e.getRemovedLayer() instanceof GPSBlamLayer) {
             currentBlamLayer = null;
-            if(Main.map.mapMode instanceof GPSBlamMode)
+            if (Main.map.mapMode instanceof GPSBlamMode)
                 Main.map.selectSelectTool(false);
         }
Index: /applications/editors/josm/plugins/gpsblam/src/org/openstreetmap/josm/plugins/gpsblam/GPSBlamPlugin.java
===================================================================
--- /applications/editors/josm/plugins/gpsblam/src/org/openstreetmap/josm/plugins/gpsblam/GPSBlamPlugin.java	(revision 33257)
+++ /applications/editors/josm/plugins/gpsblam/src/org/openstreetmap/josm/plugins/gpsblam/GPSBlamPlugin.java	(revision 33258)
@@ -4,5 +4,4 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.IconToggleButton;
 import org.openstreetmap.josm.gui.MapFrame;
@@ -17,7 +16,4 @@
 public class GPSBlamPlugin extends Plugin {
 
-    private final IconToggleButton btn;
-    private final GPSBlamMode mode;
-
     /**
      * Constructs a new {@code GPSBlamPlugin}.
@@ -26,15 +22,13 @@
     public GPSBlamPlugin(PluginInformation info) {
         super(info);
-        mode = new GPSBlamMode("gpsblam", tr("select gpx points and \"blam!\", find centre and direction of spread"));
-
-        btn = new IconToggleButton(mode);
-        btn.setVisible(true);
     }
 
     @Override
     public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
-        mode.setFrame(newFrame);
-        if (oldFrame == null && newFrame != null && Main.map != null) {
-            Main.map.addMapMode(btn);
+        if (oldFrame == null && newFrame != null) {
+            GPSBlamMode mode = new GPSBlamMode("gpsblam", tr("select gpx points and \"blam!\", find centre and direction of spread"));
+            IconToggleButton btn = new IconToggleButton(mode);
+            btn.setVisible(true);
+            newFrame.addMapMode(btn);
         }
     }
