Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 17801)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 17802)
@@ -214,6 +214,12 @@
                 if (e.parent != null) return;
 
-                if (!left.matches(e.withPrimitive(parent)))
-                    return;
+                IPrimitive osm = e.osm;
+                try {
+                    e.osm = parent;
+                    if (!left.matches(e))
+                        return;
+                } catch (Exception exception) {
+                    e.osm = osm;
+                }
                 int count = parent instanceof IWay<?>
                         ? ((IWay<?>) parent).getNodesCount()
