Index: trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTest.java	(revision 8954)
+++ trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTest.java	(revision 8959)
@@ -4,5 +4,4 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.io.IOException;
@@ -47,9 +46,16 @@
             System.out.println(source.url);
             try {
-                Collection<TaggingPreset> presets = TaggingPresetReader.readAll(source.url, true);
-                assertFalse(presets.isEmpty());
-                System.out.println(" => OK");
-                allMessages.addAll(Main.getLastErrorAndWarnings());
-            } catch (SAXException | IOException e) {
+                testPresets(allMessages, source);
+            } catch (IOException e) {
+                try {
+                    Main.warn(e);
+                    // try again in case of temporary network error
+                    testPresets(allMessages, source);
+                } catch (SAXException | IOException e1) {
+                    e.printStackTrace();
+                    allErrors.add(e1);
+                    System.out.println(" => KO");
+                }
+            } catch (SAXException e) {
                 e.printStackTrace();
                 allErrors.add(e);
@@ -58,8 +64,21 @@
         }
         assertTrue(allErrors.isEmpty());
-        for (String message : allMessages) {
+        assertTrue(allMessages.isEmpty());
+    }
+
+    private static void testPresets(Set<String> allMessages, ExtendedSourceEntry source) throws SAXException, IOException {
+        Collection<TaggingPreset> presets = TaggingPresetReader.readAll(source.url, true);
+        assertFalse(presets.isEmpty());
+        Collection<String> errorsAndWarnings = Main.getLastErrorAndWarnings();
+        boolean error = false;
+        for (String message : errorsAndWarnings) {
             if (message.contains(TaggingPreset.PRESET_ICON_ERROR_MSG_PREFIX)) {
-                fail(message);
+                error = true;
+                allMessages.add(message);
             }
+        }
+        System.out.println(error ? " => KO" : " => OK");
+        if (error) {
+            Main.clearLastErrorAndWarnings();
         }
     }
