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");
+}
