Index: src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
===================================================================
--- src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 10859)
+++ src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(working copy)
@@ -151,6 +151,13 @@
 
                 if (!left.matches(e.withPrimitive(w)))
                     return;
+
+                if (link.conds == null) {
+                    // index is not needed, we can avoid the sequential search below
+                    e.parent = w;
+                    e.count = w.getNodesCount();
+                    return;
+                }
                 for (int i = 0; i < w.getNodesCount(); i++) {
                     Node n = w.getNode(i);
                     if (n.equals(e.osm)) {
@@ -174,6 +181,12 @@
 
                 if (!left.matches(e.withPrimitive(r)))
                     return;
+                if (link.conds == null) {
+                    // index is not needed, we can avoid the sequential search below
+                    e.parent = r;
+                    e.count = r.getMembersCount();
+                    return;
+                }
                 for (int i = 0; i < r.getMembersCount(); i++) {
                     RelationMember m = r.getMember(i);
                     if (m.getMember().equals(e.osm)) {
