Index: trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 15319)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 15320)
@@ -1192,4 +1192,16 @@
                                 /* be sure it REALLY works */
                                 SSLSocketFactory.getDefault().createSocket(a, 443).close();
+                                hasv6 = true;
+                                /* in case of routing problems to the main openstreetmap domain don't enable IPv6 */
+                                for (InetAddress b : InetAddress.getAllByName("api.openstreetmap.org")) {
+                                    if (b instanceof Inet6Address) {
+                                        if (b.isReachable(1000)) {
+                                            SSLSocketFactory.getDefault().createSocket(b, 443).close();
+                                        } else {
+                                            hasv6 = false;
+                                        }
+                                        break; /* we're done */
+                                    }
+                                }
                                 Utils.updateSystemProperty("java.net.preferIPv6Addresses", "true");
                                 if (!wasv6) {
@@ -1198,5 +1210,4 @@
                                     Logging.info(tr("Detected useable IPv6 network, preferring IPv6 over IPv4."));
                                 }
-                                hasv6 = true;
                             }
                             break; /* we're done */
