Index: /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 14992)
+++ /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 14993)
@@ -108,4 +108,7 @@
     /** Divide intervals between native resolution levels to smaller steps if they are much larger than zoom ratio */
     public static final BooleanProperty PROP_ZOOM_INTERMEDIATE_STEPS = new BooleanProperty("zoom.intermediate-steps", true);
+    /** scale follows native resolution of layer status when layer is created */
+    public static final BooleanProperty PROP_ZOOM_SCALE_FOLLOWS_NATIVE_RESOLUTION_AT_LOAD = new BooleanProperty(
+            "zoom.scale-follow-native-resolution-at-load", true);
 
     /**
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 14992)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 14993)
@@ -539,8 +539,11 @@
                 boolean active = ((NativeScaleLayer) layer) == MainApplication.getMap().mapView.getNativeScaleLayer();
                 cb.setSelected(active);
-                cb.setToolTipText(active
-                    ? tr("scale follows native resolution of this layer")
-                    : tr("scale follows native resolution of another layer (click to set this layer)")
-                );
+                if (MainApplication.getMap().mapView.getNativeScaleLayer() != null) {
+                    cb.setToolTipText(active
+                            ? tr("scale follows native resolution of this layer")
+                            : tr("scale follows native resolution of another layer (click to set this layer)"));
+                } else {
+                    cb.setToolTipText(tr("scale does not follow native resolution of any layer (click to set this layer)"));
+                }
             } else {
                 cb.setSelected(false);
Index: /trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 14992)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 14993)
@@ -96,4 +96,5 @@
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapView;
+import org.openstreetmap.josm.gui.NavigatableComponent;
 import org.openstreetmap.josm.gui.NavigatableComponent.ZoomChangeListener;
 import org.openstreetmap.josm.gui.Notification;
@@ -555,5 +556,5 @@
         MapView.addZoomChangeListener(this);
 
-        if (this instanceof NativeScaleLayer) {
+        if (this instanceof NativeScaleLayer && NavigatableComponent.PROP_ZOOM_SCALE_FOLLOWS_NATIVE_RESOLUTION_AT_LOAD.get()) {
             event.getMapView().setNativeScaleLayer((NativeScaleLayer) this);
         }
