Index: trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java	(revision 14504)
+++ trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java	(revision 14507)
@@ -16,9 +16,14 @@
 import org.junit.Rule;
 import org.junit.Test;
+import org.openstreetmap.gui.jmapviewer.TileXY;
+import org.openstreetmap.gui.jmapviewer.interfaces.ICoordinate;
 import org.openstreetmap.gui.jmapviewer.tilesources.AbstractTileSource;
 import org.openstreetmap.gui.jmapviewer.tilesources.BingAerialTileSource;
 import org.openstreetmap.gui.jmapviewer.tilesources.ScanexTileSource;
 import org.openstreetmap.gui.jmapviewer.tilesources.TemplatedTMSTileSource;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.imagery.CoordinateConversion;
 import org.openstreetmap.josm.data.imagery.ImageryInfo;
+import org.openstreetmap.josm.data.imagery.ImageryInfo.ImageryBounds;
 import org.openstreetmap.josm.data.imagery.ImageryLayerInfo;
 import org.openstreetmap.josm.data.imagery.TemplatedWMSTileSource;
@@ -73,4 +78,10 @@
     }
 
+    private void checkTileUrl(ImageryInfo info, AbstractTileSource tileSource, ICoordinate center, int zoom)
+            throws IOException {
+        TileXY xy = tileSource.latLonToTileXY(center, zoom);
+        checkUrl(info, tileSource.getTileUrl(zoom, xy.getXIndex(), xy.getYIndex()));
+    }
+
     private void checkEntry(ImageryInfo info) {
         Logging.info("Checking "+ info);
@@ -90,5 +101,9 @@
 
         try {
-            getTileSource(info);
+            ImageryBounds bounds = info.getBounds();
+            ICoordinate center = CoordinateConversion.llToCoor(bounds != null ? bounds.getCenter() : LatLon.ZERO);
+            AbstractTileSource tileSource = getTileSource(info);
+            checkTileUrl(info, tileSource, center, info.getMinZoom());
+            checkTileUrl(info, tileSource, center, info.getMaxZoom());
         } catch (IOException | WMTSGetCapabilitiesException | IllegalArgumentException e) {
             addError(info, e.toString());
@@ -113,5 +128,5 @@
                 return new WMSEndpointTileSource(info, ProjectionRegistry.getProjection());
             case WMTS:
-                return new WMTSTileSource(info);
+                return new WMTSTileSource(info, ProjectionRegistry.getProjection());
             default:
                 throw new UnsupportedOperationException(info.toString());
