Index: trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 19033)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 19034)
@@ -311,5 +311,5 @@
     private void testDifferentLayers(Node connection) {
         List<Way> ways = connection.getParentWays();
-        ways.removeIf(w -> !w.hasTag("highway") || w.hasTag("highway", "steps"));
+        ways.removeIf(w -> !w.hasTag("highway") || w.hasTag("highway", "steps") || isSpecialArea(w));
         if (ways.size() < 2 || ways.stream().noneMatch(w -> w.hasKey("layer")))
             return;
@@ -339,4 +339,13 @@
 
     /**
+     * Check if way is an area on a layer above or below 0.
+     * @param w the way
+     * @return true if way is an area on a layer above or below 0
+     */
+    private static boolean isSpecialArea(Way w) {
+        return w.hasAreaTags() && OsmUtils.getLayer(w) != null;
+    }
+
+    /**
      * Check if there are at least two neighbouring nodes on the given ways.
      * If so, the connection node can be considered to be at a specific layer, else it marks the end of such a layer
