Index: trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 12071)
+++ trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 12072)
@@ -104,9 +104,4 @@
     public static final BooleanProperty PROP_ZOOM_INTERMEDIATE_STEPS = new BooleanProperty("zoom.intermediate-steps", true);
 
-    /** Property name for center change events */
-    public static final String PROPNAME_CENTER = "center";
-    /** Property name for scale change events */
-    public static final String PROPNAME_SCALE = "scale";
-
     /**
      * The layer which scale is set to.
@@ -664,18 +659,9 @@
     private void zoomNoUndoTo(EastNorth newCenter, double newScale, boolean initial) {
         if (!Utils.equalsEpsilon(getScale(), newScale)) {
-            double oldScale = getScale();
             state = state.usingScale(newScale);
-            if (!initial) {
-                firePropertyChange(PROPNAME_SCALE, oldScale, newScale);
-            }
         }
         if (!newCenter.equals(getCenter())) {
-            EastNorth oldCenter = getCenter();
             state = state.movedTo(state.getCenter(), newCenter);
-            if (!initial) {
-                firePropertyChange(PROPNAME_CENTER, oldCenter, newCenter);
-            }
-        }
-
+        }
         if (!initial) {
             repaint();
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 12071)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 12072)
@@ -19,6 +19,4 @@
 import java.awt.event.MouseMotionAdapter;
 import java.awt.image.BufferedImage;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
 import java.io.File;
 import java.io.IOException;
@@ -75,5 +73,6 @@
  * Layer displaying geottaged pictures.
  */
-public class GeoImageLayer extends AbstractModifiableLayer implements PropertyChangeListener, JumpToMarkerLayer {
+public class GeoImageLayer extends AbstractModifiableLayer implements
+        JumpToMarkerLayer, NavigatableComponent.ZoomChangeListener {
 
     private static List<Action> menuAdditions = new LinkedList<>();
@@ -1026,5 +1025,4 @@
         });
 
-        Main.map.mapView.addPropertyChangeListener(this);
         if (Main.map.getToggleDialog(ImageViewerDialog.class) == null) {
             ImageViewerDialog.newInstance();
@@ -1034,9 +1032,12 @@
 
     @Override
-    public void propertyChange(PropertyChangeEvent evt) {
-        if (NavigatableComponent.PROPNAME_CENTER.equals(evt.getPropertyName()) ||
-                NavigatableComponent.PROPNAME_SCALE.equals(evt.getPropertyName())) {
-            updateOffscreenBuffer = true;
-        }
+    public LayerPainter attachToMapView(MapViewEvent event) {
+        MapView.addZoomChangeListener(this);
+        return super.attachToMapView(event);
+    }
+
+    @Override
+    public void zoomChanged() {
+        updateOffscreenBuffer = true;
     }
 
