Index: src/org/openstreetmap/josm/data/validation/OsmValidator.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/OsmValidator.java        (revision 18400)
+++ src/org/openstreetmap/josm/data/validation/OsmValidator.java        (arbetskopia)
@@ -58,6 +58,7 @@
 import org.openstreetmap.josm.data.validation.tests.NameMismatch;
 import org.openstreetmap.josm.data.validation.tests.OpeningHourTest;
 import org.openstreetmap.josm.data.validation.tests.OverlappingWays;
+import org.openstreetmap.josm.data.validation.tests.ParkingLanesConditional;
 import org.openstreetmap.josm.data.validation.tests.PowerLines;
 import org.openstreetmap.josm.data.validation.tests.PublicTransportRouteTest;
 import org.openstreetmap.josm.data.validation.tests.RelationChecker;
@@ -154,6 +155,7 @@
         SharpAngles.class, // 3800 .. 3899
         ConnectivityRelations.class, // 3900 .. 3999
         DirectionNodes.class, // 4000-4099
+        ParkingLanesConditional.class // 4100-4199
     };

     /**

Index: src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java       (revision 18400)
+++ src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java       (arbetskopia)
@@ -224,7 +224,8 @@
         final List<TestError> errors = new ArrayList<>();
         final Pattern pattern = Pattern.compile(":conditional(:.*)?$");
         p.visitKeys((primitive, key, value) -> {
-            if (!pattern.matcher(key).find()) {
+            // Exclude parking:condition since it has its own tests in ParkingLanesConditional
+            if (key.startsWith("parking:condition") || !pattern.matcher(key).find()) {
                 return;
             }
             if (!isKeyValid(key)) {
