Index: src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 6765)
+++ src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(working copy)
@@ -7,7 +7,9 @@
 import java.io.IOException;
 import java.io.Reader;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
@@ -359,18 +361,24 @@
          * @param p the primitive to construct the error for
          * @return an instance of {@link TestError}, or returns null if the primitive does not give rise to an error.
          */
-        TestError getErrorForPrimitive(OsmPrimitive p) {
-            return getErrorForPrimitive(p, whichSelectorMatchesPrimitive(p));
+        TestError getErrorForPrimitive(OsmPrimitive p, Environment env) {
+            return getErrorForPrimitive(p, whichSelectorMatchesPrimitive(p), env);
         }
 
-        TestError getErrorForPrimitive(OsmPrimitive p, Selector matchingSelector) {
+        TestError getErrorForPrimitive(OsmPrimitive p, Selector matchingSelector, Environment env) {
             if (matchingSelector != null && !errors.isEmpty()) {
                 final Command fix = fixPrimitive(p);
                 final String description = getDescriptionForMatchingSelector(p, matchingSelector);
+                List<OsmPrimitive> prims;
+                if (env.child != null) {
+                    prims = Arrays.asList(p, env.child);
+                } else {
+                    prims = Collections.singletonList(p);
+                }
                 if (fix != null) {
-                    return new FixableTestError(null, getSeverity(), description, null, matchingSelector.toString(), 3000, p, fix);
+                    return new FixableTestError(null, getSeverity(), description, null, matchingSelector.toString(), 3000, prims, fix);
                 } else {
-                    return new TestError(null, getSeverity(), description, null, matchingSelector.toString(), 3000, p);
+                    return new TestError(null, getSeverity(), description, null, matchingSelector.toString(), 3000, prims);
                 }
             } else {
                 return null;
@@ -406,7 +414,7 @@
             final Selector selector = check.whichSelectorMatchesEnvironment(env);
             if (selector != null) {
                 check.rule.execute(env);
-                final TestError error = check.getErrorForPrimitive(p, selector);
+                final TestError error = check.getErrorForPrimitive(p, selector, env);
                 if (error != null) {
                     error.setTester(new MapCSSTagCheckerAndRule(check.rule));
                     r.add(error);
