Index: trunk/src/org/openstreetmap/josm/io/imagery/WMSImagery.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/imagery/WMSImagery.java	(revision 13227)
+++ trunk/src/org/openstreetmap/josm/io/imagery/WMSImagery.java	(revision 13228)
@@ -221,5 +221,6 @@
                 getCapabilitiesUrl = new URL(serviceUrlStr);
             }
-            serviceUrl = new URL(serviceUrlStr);
+            // Make sure we don't keep GetCapabilities request in service URL
+            serviceUrl = new URL(serviceUrlStr.replace("REQUEST=GetCapabilities", "").replace("&&", "&"));
         } catch (HeadlessException e) {
             Logging.warn(e);
@@ -267,6 +268,9 @@
                 String baseURL = child.getAttribute("xlink:href");
                 if (!baseURL.equals(serviceUrlStr)) {
-                    Logging.info("GetCapabilities specifies a different service URL: " + baseURL);
-                    serviceUrl = new URL(baseURL);
+                    URL newURL = new URL(baseURL);
+                    if (newURL.getAuthority() != null) {
+                        Logging.info("GetCapabilities specifies a different service URL: " + baseURL);
+                        serviceUrl = newURL;
+                    }
                 }
             }
