Index: /applications/editors/josm/plugins/print/src/org/openstreetmap/josm/plugins/print/PrintableMapView.java
===================================================================
--- /applications/editors/josm/plugins/print/src/org/openstreetmap/josm/plugins/print/PrintableMapView.java	(revision 33259)
+++ /applications/editors/josm/plugins/print/src/org/openstreetmap/josm/plugins/print/PrintableMapView.java	(revision 33260)
@@ -27,4 +27,7 @@
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.layer.Layer;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent;
 
 /**
@@ -41,6 +44,5 @@
 
     /**
-     * The factor for scaling the printing graphics to the desired
-     * resolution
+     * The factor for scaling the printing graphics to the desired resolution
      */
     protected double g2dFactor;
@@ -219,12 +221,10 @@
         double dist100px = getDist100Pixel() / g2dFactor;
         double dist = dist100px / som.aValue;
-        //String unit  = som.aName;
         if (!Main.pref.getBoolean("system_of_measurement.use_only_lower_unit", false) && dist > som.bValue / som.aValue) {
             dist = dist100px / som.bValue;
-            //unit  = som.bName;
         }
         long distExponent = (long) Math.floor(Math.log(dist) / Math.log(10));
         double distMantissa = dist / Math.pow(10, distExponent);
-        double distScale = 1.0;
+        double distScale;
         if (distMantissa <= 2.5) {
             distScale = 2.5 / distMantissa;
@@ -346,3 +346,18 @@
         g2d.setTransform(ax);
     }
+
+    @Override
+    public void layerAdded(LayerAddEvent e) {
+        // Don't mess with global stuff done by MapView
+    }
+
+    @Override
+    public void layerRemoving(LayerRemoveEvent e) {
+        // Don't mess with global stuff done by MapView
+    }
+
+    @Override
+    public void layerOrderChanged(LayerOrderChangeEvent e) {
+        // Don't mess with global stuff done by MapView
+    }
 }
