Index: src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 14986)
+++ src/org/openstreetmap/josm/gui/NavigatableComponent.java	(working copy)
@@ -107,6 +107,9 @@
     public static final DoubleProperty PROP_ZOOM_RATIO = new DoubleProperty("zoom.ratio", 2.0);
     /** 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);
 
     /**
      * The layer which scale is set to.
Index: src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 14986)
+++ src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(working copy)
@@ -538,10 +538,13 @@
             if (layer instanceof NativeScaleLayer) {
                 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);
                 cb.setToolTipText(tr("this layer has no native resolution"));
Index: src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
===================================================================
--- src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 14986)
+++ src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(working copy)
@@ -95,6 +95,7 @@
 import org.openstreetmap.josm.gui.ExtendedDialog;
 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;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
@@ -554,7 +555,7 @@
         event.getMapView().addMouseListener(adapter);
         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);
         }
 
