Index: src/org/openstreetmap/josm/data/validation/tests/InternetTags.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java b/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java
--- a/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java	(revision 18445)
+++ b/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java	(date 1652628125252)
@@ -102,7 +102,11 @@
                 if (tr("URL contains an invalid protocol: {0}", (String) null).equals(errMsg)) {
                     // Special treatment to allow URLs without protocol. See UrlValidator#isValid
                     String proto = validator instanceof EmailValidator ? "mailto://" : "http://";
-                    return doValidateTag(p, k, proto+value, validator, code);
+
+                    final var valueWithProtocol = proto + value;
+                    if (validator.isValid(valueWithProtocol)) {
+                        fix = () -> new ChangePropertyCommand(p, k, valueWithProtocol);
+                    }
                 } else if (tr("URL contains an invalid authority: {0}", (String) null).equals(errMsg)
                         && value.contains("\\") && validator.isValid(value.replaceAll("\\\\", "/"))) {
                     // Special treatment to autofix URLs with backslashes. See UrlValidator#isValid
Index: test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java b/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java
--- a/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java	(revision 18445)
+++ b/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java	(date 1652628252415)
@@ -39,7 +39,6 @@
      */
     @Test
     void testValidUrls() {
-        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
         testUrl("website", "https://www.openstreetmap.org", true);             // Simple HTTPS
@@ -65,6 +64,7 @@
      */
     @Test
     void testInvalidUrls() {
+        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
     }
