Index: trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java	(revision 14611)
+++ trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java	(revision 14612)
@@ -4,4 +4,5 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeTrue;
 
 import java.io.ByteArrayInputStream;
@@ -100,8 +101,9 @@
     private final ImageryInfo info;
     private final Map<String, Map<ImageryInfo, List<String>>> errors = Collections.synchronizedMap(new TreeMap<>());
+    private final Map<String, Map<ImageryInfo, List<String>>> ignoredErrors = Collections.synchronizedMap(new TreeMap<>());
     private static final Map<String, byte[]> workingURLs = Collections.synchronizedMap(new TreeMap<>());
 
     private static TMSCachedTileLoaderJob helper;
-    private static List<String> ignoredErrors;
+    private static List<String> errorsToIgnore;
 
     /**
@@ -112,5 +114,5 @@
     public static void beforeClass() throws IOException {
         helper = new TMSCachedTileLoaderJob(null, null, new CacheAccess<>(null), new TileJobOptions(0, 0, null, 0), null);
-        ignoredErrors = TestUtils.getIgnoredErrorMessages(ImageryPreferenceTestIT.class);
+        errorsToIgnore = TestUtils.getIgnoredErrorMessages(ImageryPreferenceTestIT.class);
     }
 
@@ -139,8 +141,11 @@
     private boolean addError(ImageryInfo info, String error) {
         String errorMsg = error.replace('\n', ' ');
-        return !ignoredErrors.contains(errorMsg) &&
-               errors.computeIfAbsent(info.getCountryCode(), x -> Collections.synchronizedMap(new TreeMap<>()))
-                     .computeIfAbsent(info, x -> Collections.synchronizedList(new ArrayList<>()))
-                     .add(errorMsg);
+        return addError(errorsToIgnore.contains(errorMsg) ? ignoredErrors : errors, info, errorMsg);
+    }
+
+    private static boolean addError(Map<String, Map<ImageryInfo, List<String>>> map, ImageryInfo info, String errorMsg) {
+        return map.computeIfAbsent(info.getCountryCode(), x -> Collections.synchronizedMap(new TreeMap<>()))
+                  .computeIfAbsent(info, x -> Collections.synchronizedList(new ArrayList<>()))
+                  .add(errorMsg);
     }
 
@@ -381,4 +386,8 @@
     }
 
+    private static String format(Map<String, Map<ImageryInfo, List<String>>> map) {
+        return map.toString().replaceAll("\\}, ", "\n\\}, ").replaceAll(", ImageryInfo\\{", "\n      ,ImageryInfo\\{");
+    }
+
     /**
      * Test that available imagery entry is valid.
@@ -387,7 +396,7 @@
     public void testImageryEntryValidity() {
         checkEntry(info);
-        assertTrue(errors.toString().replaceAll("\\}, ", "\n\\}, ").replaceAll(", ImageryInfo\\{", "\n      ,ImageryInfo\\{"),
-                errors.isEmpty());
+        assertTrue(format(errors), errors.isEmpty());
         assertFalse(workingURLs.isEmpty());
+        assumeTrue(format(ignoredErrors), ignoredErrors.isEmpty());
     }
 }
