Index: trunk/test/unit/org/openstreetmap/josm/data/imagery/WMTSTileSourceTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/imagery/WMTSTileSourceTest.java	(revision 14048)
+++ trunk/test/unit/org/openstreetmap/josm/data/imagery/WMTSTileSourceTest.java	(revision 14049)
@@ -19,4 +19,5 @@
 import org.junit.Rule;
 import org.junit.Test;
+import org.openstreetmap.gui.jmapviewer.TileXY;
 import org.openstreetmap.gui.jmapviewer.tilesources.TemplatedTMSTileSource;
 import org.openstreetmap.josm.Main;
@@ -66,4 +67,5 @@
     private ImageryInfo testMultipleTileMatrixForLayer = getImagery(TestUtils.getTestDataRoot() +
             "wmts/bug13975-multiple-tile-matrices-for-one-layer-projection.xml");
+    private ImageryInfo testImageryGisKtnGvAt = getImagery(TestUtils.getTestDataRoot() + "wmts/gis.ktn.gv.at.xml");
 
     private static ImageryInfo getImagery(String path) {
@@ -409,3 +411,14 @@
         assertEquals("Latitude", expected.lat(), result.lat(), 1e-04);
     }
+
+    @Test
+    public void testGisKtnGvAt() throws IOException, WMTSGetCapabilitiesException {
+        Main.setProjection(Projections.getProjectionByCode("EPSG:31258"));
+        final WMTSTileSource source = new WMTSTileSource(testImageryGisKtnGvAt);
+        source.initProjection(Main.getProjection());
+        final TileXY tile = source.latLonToTileXY(46.6103, 13.8558, 11);
+        assertEquals("https://gis.ktn.gv.at/arcgis/rest/services/tilecache/Ortho_2013_2015" +
+                        "/MapServer/WMTS/tile/1.0.0/tilecache_Ortho_2013_2015/default/default028mm/11/6299/7373.jpg",
+                source.getTileUrl(11, tile.getXIndex(), tile.getYIndex()));
+    }
 }
