Index: trunk/test/unit/org/openstreetmap/josm/TestUtils.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/TestUtils.java	(revision 14527)
+++ trunk/test/unit/org/openstreetmap/josm/TestUtils.java	(revision 14528)
@@ -25,8 +25,10 @@
 import java.util.Collection;
 import java.util.Comparator;
+import java.util.List;
 import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ThreadPoolExecutor;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -52,4 +54,5 @@
 import org.openstreetmap.josm.tools.JosmRuntimeException;
 import org.openstreetmap.josm.tools.Utils;
+import org.openstreetmap.josm.tools.WikiReader;
 import org.reflections.Reflections;
 
@@ -578,3 +581,19 @@
         return Utils.getSystemProperty("osm.username") != null && Utils.getSystemProperty("osm.password") != null;
     }
+
+    /**
+     * Returns the ignored error messages listed on
+     * <a href="https://josm.openstreetmap.de/wiki/IntegrationTestIgnores">JOSM wiki</a> for a given test.
+     * @param integrationTest The integration test class
+     * @return the ignored error messages listed on JOSM wiki for this test.
+     * @throws IOException in case of I/O error
+     */
+    public static List<String> getIgnoredErrorMessages(Class<?> integrationTest) throws IOException {
+        return Arrays.stream(new WikiReader()
+                .read("https://josm.openstreetmap.de/wiki/IntegrationTestIgnores?format=txt")
+                .split("\\n"))
+                .filter(s -> s.startsWith("|| " + integrationTest.getSimpleName() + " ||"))
+                .map(s -> s.substring(s.indexOf("{{{") + 3, s.indexOf("}}}")))
+                .collect(Collectors.toList());
+    }
 }
Index: trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java	(revision 14527)
+++ trunk/test/unit/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreferenceTestIT.java	(revision 14528)
@@ -15,4 +15,5 @@
 import java.util.concurrent.TimeUnit;
 
+import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -24,4 +25,5 @@
 import org.openstreetmap.gui.jmapviewer.tilesources.ScanexTileSource;
 import org.openstreetmap.gui.jmapviewer.tilesources.TemplatedTMSTileSource;
+import org.openstreetmap.josm.TestUtils;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -57,11 +59,23 @@
     @Rule
     @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
-    public JOSMTestRules test = new JOSMTestRules().https().projection().projectionNadGrids().timeout(10000*60);
+    public JOSMTestRules test = new JOSMTestRules().https().preferences().projection().projectionNadGrids().timeout(10000*60);
 
     private final Map<String, Map<ImageryInfo, List<String>>> errors = Collections.synchronizedMap(new TreeMap<>());
     private final Set<String> workingURLs = Collections.synchronizedSet(new HashSet<>());
 
+    private List<String> ignoredErrors;
+
+    /**
+     * Setup test
+     * @throws IOException in case of I/O error
+     */
+    @Before
+    public void before() throws IOException {
+        ignoredErrors = TestUtils.getIgnoredErrorMessages(ImageryPreferenceTestIT.class);
+    }
+
     private boolean addError(ImageryInfo info, String error) {
-        return errors.computeIfAbsent(info.getCountryCode(), x -> Collections.synchronizedMap(new TreeMap<>()))
+        return !ignoredErrors.contains(error) &&
+               errors.computeIfAbsent(info.getCountryCode(), x -> Collections.synchronizedMap(new TreeMap<>()))
                      .computeIfAbsent(info, x -> Collections.synchronizedList(new ArrayList<>()))
                      .add(error);
