Index: trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java	(revision 9898)
+++ trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java	(revision 9899)
@@ -48,5 +48,5 @@
             true);
 
-    private ScaleList nativeScaleList;
+    private static final ScaleList nativeScaleList = initNativeScaleList();
 
     /**
@@ -56,10 +56,4 @@
     public TMSLayer(ImageryInfo info) {
         super(info);
-        Collection<Double> scales = new ArrayList<>(info.getMaxZoom());
-        for (int zoom = AbstractTileSourceLayer.MIN_ZOOM; zoom <= AbstractTileSourceLayer.MAX_ZOOM; zoom++) {
-            double scale = OsmMercator.EARTH_RADIUS * Math.PI * 2 / Math.pow(2, zoom) / OsmMercator.DEFAUL_TILE_SIZE;
-            scales.add(scale);
-        }
-        this.nativeScaleList = new ScaleList(scales);
     }
 
@@ -162,3 +156,12 @@
         return nativeScaleList;
     }
+
+    private static ScaleList initNativeScaleList() {
+        Collection<Double> scales = new ArrayList<>(AbstractTileSourceLayer.MAX_ZOOM);
+        for (int zoom = AbstractTileSourceLayer.MIN_ZOOM; zoom <= AbstractTileSourceLayer.MAX_ZOOM; zoom++) {
+            double scale = OsmMercator.EARTH_RADIUS * Math.PI * 2 / Math.pow(2, zoom) / OsmMercator.DEFAUL_TILE_SIZE;
+            scales.add(scale);
+        }
+        return new ScaleList(scales);
+    }
  }
