Index: /applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TMSTileSource.java
===================================================================
--- /applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TMSTileSource.java	(revision 26234)
+++ /applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TMSTileSource.java	(revision 26235)
@@ -3,9 +3,21 @@
 
 public class TMSTileSource extends AbstractOsmTileSource {
-    private int maxZoom;
+    protected int maxZoom;
+    protected int minZoom = 0;
 
     public TMSTileSource(String name, String url, int maxZoom) {
         super(name, url);
         this.maxZoom = maxZoom;
+    }
+
+    public TMSTileSource(String name, String url, int minZoom, int maxZoom) {
+        super(name, url);
+        this.minZoom = minZoom;
+        this.maxZoom = maxZoom;
+    }
+
+    @Override
+    public int getMinZoom() {
+        return (minZoom == 0) ? super.getMinZoom() : minZoom;
     }
 
Index: /applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java
===================================================================
--- /applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java	(revision 26234)
+++ /applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java	(revision 26235)
@@ -2,10 +2,11 @@
 
 
-public class TemplatedTMSTileSource extends AbstractOsmTileSource {
-    private int maxZoom;
+public class TemplatedTMSTileSource extends TMSTileSource {
+    public TemplatedTMSTileSource(String name, String url, int maxZoom) {
+        super(name, url, maxZoom);
+    }
 
-    public TemplatedTMSTileSource(String name, String url, int maxZoom) {
-        super(name, url);
-        this.maxZoom = maxZoom;
+    public TemplatedTMSTileSource(String name, String url, int minZoom, int maxZoom) {
+        super(name, url, minZoom, maxZoom);
     }
 
@@ -19,12 +20,3 @@
 
     }
-
-    @Override
-    public int getMaxZoom() {
-        return (maxZoom == 0) ? super.getMaxZoom() : maxZoom;
-    }
-
-    public TileUpdate getTileUpdate() {
-        return TileUpdate.IfNoneMatch;
-    }
 }
