Index: /trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java	(revision 7901)
+++ /trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java	(revision 7902)
@@ -157,7 +157,4 @@
     private static final Pattern PORT_PATTERN = Pattern.compile(PORT_REGEX);
 
-    private static final String SIMPLE_WEBSITE = "^www[.].*";
-    private static final Pattern SIMPLE_WEBSITE_PATTERN = Pattern.compile(SIMPLE_WEBSITE);
-
     /**
      * Holds the set of current validation options.
@@ -301,7 +298,4 @@
         if (!isValidScheme(scheme)) {
             setErrorMessage(tr("URL contains an invalid protocol: {0}", scheme));
-            if (SIMPLE_WEBSITE_PATTERN.matcher(value).matches()) {
-                setFix("http://" + value);
-            }
             return false;
         }
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java	(revision 7901)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java	(revision 7902)
@@ -128,6 +128,13 @@
     private TestError doValidateTag(OsmPrimitive p, String k, String v, AbstractValidator validator, int code) {
         TestError error = null;
-        if (!validator.isValid(v != null ? v : p.get(k))) {
-            String msg = tr("''{0}'': {1}", k, validator.getErrorMessage());
+        String value = v != null ? v : p.get(k);
+        if (!validator.isValid(value)) {
+            String errMsg = validator.getErrorMessage();
+            // Special treatment to allow URLs without protocol. See UrlValidator#isValid
+            if (tr("URL contains an invalid protocol: {0}", (String)null).equals(errMsg)) {
+                String proto = validator instanceof EmailValidator ? "mailto://" : "http://";
+                return doValidateTag(p, k, proto+value, validator, code);
+            }
+            String msg = tr("''{0}'': {1}", k, errMsg);
             String fix = validator.getFix();
             if (fix != null) {
Index: /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java	(revision 7901)
+++ /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java	(revision 7902)
@@ -37,4 +37,5 @@
 
         // Valid URLs
+        testUrl("url", "www.domain.com", true);                                // No protocol
         testUrl("url", "http://josm.openstreetmap.de", true);                  // Simple HTTP
         testUrl("url", "http://josm.openstreetmap.de/", true);                 // Simple HTTP + slash
@@ -48,5 +49,4 @@
 
         // Invalid URLs
-        testUrl("url", "www.domain.com", false);                               // No protocol
         testUrl("url", "something://www.domain.com", false);                   // invalid protocol
         testUrl("url", "http://www.domain.invalidtld", false);                 // invalid TLD
