Index: trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 6680)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 6681)
@@ -259,5 +259,7 @@
          */
         static String insertArguments(Selector matchingSelector, String s) {
-            if (!(matchingSelector instanceof Selector.GeneralSelector) || s == null) {
+            if (s != null && matchingSelector instanceof Selector.ChildOrParentSelector) {
+                return  insertArguments(((Selector.ChildOrParentSelector)matchingSelector).right, s);
+            } else if (s == null || !(matchingSelector instanceof GeneralSelector)) {
                 return s;
             }
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 6680)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 6681)
@@ -57,10 +57,8 @@
      */
     public static class ChildOrParentSelector implements Selector {
-        private final Selector left;
-        private final LinkSelector link;
-        private final Selector right;
-        /** true, if this represents a parent selector (otherwise it is a child selector)
-         */
-        private final ChildOrParentSelectorType type;
+        public final Selector left;
+        public final LinkSelector link;
+        public final Selector right;
+        public final ChildOrParentSelectorType type;
 
         /**
