Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 8740)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 8741)
@@ -656,5 +656,5 @@
         public String toString() {
             return base + (Range.ZERO_TO_INFINITY.equals(range) ? "" : range) + Utils.join("", conds)
-                    + (subpart != null ? "::" + subpart : "");
+                    + (subpart != null && subpart != Subpart.DEFAULT_SUBPART ? "::" + subpart : "");
         }
     }
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Subpart.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Subpart.java	(revision 8740)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Subpart.java	(revision 8741)
@@ -29,4 +29,9 @@
             return id;
         }
+
+        @Override
+        public String toString() {
+            return id;
+        }
     }
 
@@ -47,4 +52,9 @@
             return Cascade.convertTo(id.evaluate(env), String.class);
         }
+
+        @Override
+        public String toString() {
+            return String.valueOf(id);
+        }
     }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java	(revision 8740)
+++ /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java	(revision 8741)
@@ -106,4 +106,5 @@
         assertThat(errors.size(), is(1));
         assertThat(errors.iterator().next().getMessage(), is("has alt_name but not name"));
+        assertThat(errors.iterator().next().getIgnoreSubGroup(), is("3000_*[.+_name][!name]"));
     }
 
@@ -116,4 +117,5 @@
         assertThat(errors.size(), is(1));
         assertThat(errors.iterator().next().getMessage(), is("footway used with foot=no"));
+        assertThat(errors.iterator().next().getIgnoreSubGroup(), is("3000_way[highway=footway][foot]"));
     }
 
