diff -ur --exclude='*.svn*' josm/src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java josm dev/src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java
--- josm/src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java	2008-12-29 19:42:42.000000000 +0100
+++ josm dev/src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java	2009-01-18 21:50:54.000000000 +0100
@@ -205,6 +205,7 @@
         Collections.sort(gps);
         this.data = data;
         this.gps = gps;
+        final Layer self = this;
         mouseAdapter = new MouseAdapter(){
             @Override public void mousePressed(MouseEvent e) {
                 if (e.getButton() != MouseEvent.BUTTON1)
@@ -238,7 +239,8 @@
             public void activeLayerChange(Layer oldLayer, Layer newLayer) {}
             public void layerAdded(Layer newLayer) {}
             public void layerRemoved(Layer oldLayer) {
-                Main.map.mapView.removeMouseListener(mouseAdapter);
+                if (oldLayer == self)
+                    Main.map.mapView.removeMouseListener(mouseAdapter);
             }
         });
     }
