Index: /trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java	(revision 11772)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java	(revision 11773)
@@ -356,5 +356,8 @@
             if (event == XMLStreamReader.START_ELEMENT) {
                 if (QN_LAYER.equals(reader.getName())) {
-                    layers.add(parseLayer(reader));
+                    Layer l = parseLayer(reader);
+                    if (l != null) {
+                        layers.add(l);
+                    }
                 }
                 if (QN_TILEMATRIXSET.equals(reader.getName())) {
@@ -387,4 +390,5 @@
         Stack<QName> tagStack = new Stack<>();
         List<String> supportedMimeTypes = Arrays.asList(ImageIO.getReaderMIMETypes());
+        Collection<String> unsupportedFormats = new ArrayList<>();
 
         for (int event = reader.getEventType();
@@ -398,4 +402,6 @@
                         if (supportedMimeTypes.contains(format)) {
                             layer.format = format;
+                        } else {
+                            unsupportedFormats.add(format);
                         }
                     } else if (GetCapabilitiesParseHelper.QN_OWS_IDENTIFIER.equals(reader.getName())) {
@@ -428,4 +434,11 @@
         if (layer.style == null) {
             layer.style = "";
+        }
+        if (layer.format == null) {
+            // no format found - it's mandatory parameter - can't use this layer
+            Main.warn(tr("Can''t use layer {0} because no supported formats where found. Layer is available in formats: {1}",
+                    layer.name,
+                    String.join(", ", unsupportedFormats)));
+            return null;
         }
         return layer;
