Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 7878)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 7879)
@@ -117,4 +117,9 @@
                 return false;
             return true;
+        }
+
+        @Override
+        public String toString() {
+            return "GroupedMapCSSRule [selectors=" + selectors + ", declaration=" + declaration + "]";
         }
     }
@@ -525,4 +530,9 @@
             return result;
         }
+
+        @Override
+        public String toString() {
+            return "MapCSSTagCheckerAndRule [rule=" + rule + "]";
+        }
     }
 
@@ -534,7 +544,12 @@
      */
     public synchronized Collection<TestError> getErrorsForPrimitive(OsmPrimitive p, boolean includeOtherSeverity) {
+        return getErrorsForPrimitive(p, includeOtherSeverity, checks.values());
+    }
+
+    private static Collection<TestError> getErrorsForPrimitive(OsmPrimitive p, boolean includeOtherSeverity,
+            Collection<Set<TagCheck>> checksCol) {
         final List<TestError> r = new ArrayList<>();
         final Environment env = new Environment(p, new MultiCascade(), Environment.DEFAULT_LAYER, null);
-        for (Set<TagCheck> schecks : checks.values()) {
+        for (Set<TagCheck> schecks : checksCol) {
             for (TagCheck check : schecks) {
                 if (Severity.OTHER.equals(check.getSeverity()) && !includeOtherSeverity) {
@@ -641,5 +656,10 @@
                 // Add primitive to dataset to avoid DataIntegrityProblemException when evaluating selectors
                 ds.addPrimitive(p);
-                final boolean isError = Utils.exists(getErrorsForPrimitive(p, true), new Predicate<TestError>() {
+                final Collection<TestError> pErrors = getErrorsForPrimitive(p, true,
+                        Collections.singleton(Collections.singleton(check)));
+                if (Main.isDebugEnabled()) {
+                    Main.debug("- Errors: "+pErrors);
+                }
+                final boolean isError = Utils.exists(pErrors, new Predicate<TestError>() {
                     @Override
                     public boolean evaluate(TestError e) {
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSRule.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSRule.java	(revision 7878)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSRule.java	(revision 7879)
@@ -67,6 +67,16 @@
             return true;
         }
+
+        @Override
+        public String toString() {
+            return "Declaration [instructions=" + instructions + ", idx=" + idx + "]";
+        }
     }
 
+    /**
+     * Constructs a new {@code MapCSSRule}.
+     * @param selector The selector
+     * @param declaration The declaration
+     */
     public MapCSSRule(Selector selector, Declaration declaration) {
         this.selector = selector;
