Index: trunk/resources/data/validator/combinations.mapcss
===================================================================
--- trunk/resources/data/validator/combinations.mapcss	(revision 16254)
+++ trunk/resources/data/validator/combinations.mapcss	(revision 16255)
@@ -49,9 +49,9 @@
 *[transformer                  ][!power],
 *[source:date                  ][!source],
-*[source:name                  ][!name],
+*[source:name                  ][!name][noname!=yes],
 *[source:maxspeed:forward      ][!maxspeed:forward][!maxspeed],
 *[source:maxspeed:backward     ][!maxspeed:backward][!maxspeed],
 *[source:building              ][!building],
-*[source:ref                   ][!ref],
+*[source:ref                   ][!ref][noref!=yes],
 *[source:population            ][!population],
 *[source:postal_code           ][!postal_code],
@@ -72,7 +72,5 @@
 *[source:housenumber           ][!addr:housenumber],
 *[source:addr:postcode         ][!addr:postcode],
-*[source:addr:housenumber      ][!addr:housenumber],
-*[source:addr                  ][!/^addr:/],
-*[source:maxspeed              ][!/^maxspeed:?/] {
+*[source:addr:housenumber      ][!addr:housenumber] {
   throwWarning: tr("{0} without {1}", "{0.key}", "{1.key}");
   group: tr("missing tag");
@@ -367,5 +365,5 @@
 *[boundary][/^addr:/],
 *[highway][/^addr:/][highway!=services][highway!=rest_area][!"addr:postcode"] {
-  throwWarning: tr("{0} together with addr:*", "{0.key}");
+  throwWarning: tr("{0} together with {1}", "{0.key}", "addr:*");
   group: tr("suspicious tag combination");
   assertMatch: "node place=foo addr:housenumber=5";
@@ -680,2 +678,10 @@
   group: tr("missing tag");
 }
+*[source:addr][!/^addr:/] {
+  throwWarning: tr("{0} without {1}", "{0.key}", "addr:*");
+  group: tr("missing tag");
+}
+*[source:maxspeed][!/^maxspeed:?/] {
+  throwWarning: tr("{0} without {1} or {2}", "{0.key}", "maxspeed", "maxspeed:*");
+  group: tr("missing tag");
+}
Index: trunk/resources/data/validator/relation.mapcss
===================================================================
--- trunk/resources/data/validator/relation.mapcss	(revision 16254)
+++ trunk/resources/data/validator/relation.mapcss	(revision 16255)
@@ -11,5 +11,4 @@
 relation[type=route][!route],
 relation[type=route_master][!route_master],
-relation[type=restriction][!/^restriction/], /* see #11586 */
 relation[type=boundary][!boundary][!disused:boundary],
 relation[type=public_transport][!public_transport],
@@ -22,6 +21,4 @@
   assertMatch: "relation type=route_master";
   assertNoMatch: "relation type=route_master route_master=train";
-  assertMatch: "relation type=restriction";
-  assertNoMatch: "relation type=restriction restriction=no_left_turn";
   assertMatch: "relation type=boundary";
   assertNoMatch: "relation type=boundary boundary=administrative";
@@ -35,4 +32,13 @@
 }
 
+/* #11586 */
+relation[type=restriction][!/^restriction/]{ 
+  throwWarning: tr("{0} relation without {0} tag", "restriction");
+  group: tr("missing tag");
+  assertMatch: "relation type=restriction";
+  assertNoMatch: "relation type=restriction restriction=no_left_turn";
+  assertNoMatch: "relation type=restriction restriction:hgv=no_left_turn";
+}
+
 /* #15208, #16242 */
 relation[type=route][route=mtb    ] > way[bicycle=no],
