Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/AbstractTMSTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/AbstractTMSTileSource.java	(revision 32030)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/AbstractTMSTileSource.java	(revision 32051)
@@ -10,4 +10,5 @@
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Set;
 
 import org.openstreetmap.gui.jmapviewer.OsmMercator;
@@ -27,6 +28,6 @@
     protected String baseUrl;
     protected String id;
-    private final Map<String, List<String>> noTileHeaders;
-    private final Map<String, List<String>> noTileChecksums;
+    private final Map<String, Set<String>> noTileHeaders;
+    private final Map<String, Set<String>> noTileChecksums;
     private final Map<String, String> metadataHeaders;
     protected int tileSize;
@@ -172,5 +173,5 @@
     public boolean isNoTileAtZoom(Map<String, List<String>> headers, int statusCode, byte[] content) {
         if (noTileHeaders != null && headers != null) {
-            for (Entry<String, List<String>> searchEntry: noTileHeaders.entrySet()) {
+            for (Entry<String, Set<String>> searchEntry: noTileHeaders.entrySet()) {
                 List<String> headerVals = headers.get(searchEntry.getKey());
                 if (headerVals != null) {
@@ -186,5 +187,5 @@
         }
         if (noTileChecksums != null) {
-            for (Entry<String, List<String>> searchEntry: noTileChecksums.entrySet()) {
+            for (Entry<String, Set<String>> searchEntry: noTileChecksums.entrySet()) {
                 MessageDigest md = null;
                 try {
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TileSourceInfo.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TileSourceInfo.java	(revision 32030)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TileSourceInfo.java	(revision 32051)
@@ -2,6 +2,6 @@
 package org.openstreetmap.gui.jmapviewer.tilesources;
 
-import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
@@ -21,8 +21,8 @@
 
     /** headers meaning, that there is no tile at this zoom level */
-    protected Map<String, List<String>> noTileHeaders;
+    protected Map<String, Set<String>> noTileHeaders;
 
     /** checksum of empty tiles */
-    protected Map<String, List<String>> noTileChecksums;
+    protected Map<String, Set<String>> noTileChecksums;
 
     /** minimum zoom level supported by the tile source */
@@ -100,5 +100,5 @@
      * @since 32022
      */
-    public Map<String, List<String>> getNoTileHeaders() {
+    public Map<String, Set<String>> getNoTileHeaders() {
         return noTileHeaders;
     }
@@ -109,5 +109,5 @@
      * @since 32022
      */
-    public Map<String, List<String>> getNoTileChecksums() {
+    public Map<String, Set<String>> getNoTileChecksums() {
         return noTileChecksums;
     }
