Index: trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 7898)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 7899)
@@ -86,5 +86,7 @@
     public void visit(Node n) {
         if (n.isUsable()) {
-            if (!n.hasTag("highway", "crossing") && !n.hasTag("crossing", "no") && n.isReferredByWays(2)) {
+            if (!n.hasTag("crossing", "no")
+             && !(n.hasKey("crossing") && (n.hasTag("highway", "crossing") || n.hasTag("highway", "traffic_signals")))
+             && n.isReferredByWays(2)) {
                 testMissingPedestrianCrossing(n);
             }
@@ -151,6 +153,6 @@
 
         final HashSet<OsmPrimitive> referrers = new HashSet<>();
-        
-        if (way.isClosed()) { 
+
+        if (way.isClosed()) {
             // for closed way we need to check all adjacent ways
             for (Node n: way.getNodes()) {
