Index: trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java	(revision 9087)
+++ trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java	(revision 9095)
@@ -59,5 +59,5 @@
     private static final String PATTERN_HEADER  = "\\{header\\(([^,]+),([^}]+)\\)\\}";
 
-    private static final String URL_GET_ENCODING_PARAMS = "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER={layer}&STYLE={Style}&"
+    private static final String URL_GET_ENCODING_PARAMS = "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER={layer}&STYLE={style}&"
             + "FORMAT={format}&tileMatrixSet={TileMatrixSet}&tileMatrix={TileMatrix}&tileRow={TileRow}&tileCol={TileCol}";
 
@@ -648,14 +648,18 @@
         }
 
-        switch (transferMode) {
-        case KVP:
-            url = baseUrl + URL_GET_ENCODING_PARAMS;
-            break;
-        case REST:
+        if (currentLayer.baseUrl != null && transferMode == null) {
             url = currentLayer.baseUrl;
-            break;
-        default:
-            url = "";
-            break;
+        } else {
+            switch (transferMode) {
+            case KVP:
+                url = baseUrl + URL_GET_ENCODING_PARAMS;
+                break;
+            case REST:
+                url = currentLayer.baseUrl;
+                break;
+            default:
+                url = "";
+                break;
+            }
         }
 
@@ -672,5 +676,5 @@
                 .replaceAll("\\{TileRow\\}", Integer.toString(tiley))
                 .replaceAll("\\{TileCol\\}", Integer.toString(tilex))
-                .replaceAll("\\{Style\\}", this.currentLayer.style);
+                .replaceAll("(?i)\\{style\\}", this.currentLayer.style);
     }
 
