Index: src/org/openstreetmap/josm/data/Version.java
===================================================================
--- src/org/openstreetmap/josm/data/Version.java	(Revision 5864)
+++ src/org/openstreetmap/josm/data/Version.java	(Arbeitskopie)
@@ -226,4 +226,13 @@
         }
         return "JOSM/1.5 ("+ s+" "+LanguageInfo.getJOSMLocaleCode()+") " + Main.platform.getOSDescription();
     }
+
+    /**
+     * Returns the full User-Agent string
+     * @return The User-Agent
+     * @since 5866
+     */
+    public String getFullAgentString() {
+        return getAgentString + " Java/"+System.getProperty("java.version");
+    }
 }
Index: src/org/openstreetmap/josm/io/imagery/WMSGrabber.java
===================================================================
--- src/org/openstreetmap/josm/io/imagery/WMSGrabber.java	(Revision 5864)
+++ src/org/openstreetmap/josm/io/imagery/WMSGrabber.java	(Arbeitskopie)
@@ -50,6 +50,7 @@
         if(layer.getInfo().getCookies() != null && !layer.getInfo().getCookies().equals("")) {
             props.put("Cookie", layer.getInfo().getCookies());
         }
+        props.put("User-Agent", Version.getInstance().getFullAgentString()));
         Pattern pattern = Pattern.compile("\\{header\\(([^,]+),([^}]+)\\)\\}");
         StringBuffer output = new StringBuffer();
         Matcher matcher = pattern.matcher(this.baseURL);
Index: src/org/openstreetmap/josm/tools/Utils.java
===================================================================
--- src/org/openstreetmap/josm/tools/Utils.java	(Revision 5864)
+++ src/org/openstreetmap/josm/tools/Utils.java	(Arbeitskopie)
@@ -553,6 +553,7 @@
             throw new IllegalArgumentException("Invalid HTTP url");
         }
         HttpURLConnection connection = (HttpURLConnection) httpURL.openConnection();
+        connection.setRequestProperty("User-Agent", Version.getInstance().getFullAgentString()));
         return connection;
     }
     
