Index: trunk/resources/data/validator/combinations.mapcss
===================================================================
--- trunk/resources/data/validator/combinations.mapcss	(revision 19479)
+++ trunk/resources/data/validator/combinations.mapcss	(revision 19590)
@@ -149,5 +149,4 @@
 /* {0.key} without {1.tag} or {2.tag} */
 *[bridge:movable               ][bridge!=movable][man_made!=bridge],
-*[substation                   ][power!=substation][pipeline!=substation],
 *[reservoir_type               ][landuse!=reservoir][water!=reservoir],
 way[waterway=pressurised       ][tunnel!=flooded][man_made!=pipeline] {
@@ -156,7 +155,8 @@
 }
 
-/* {0.key} without {1.tag}, {2.tag} or {3.tag}, #15107, #20241 */
+/* {0.key} without {1.tag}, {2.tag} or {3.tag}, #15107, #20241, #20421 */
 *[iata                         ][aeroway!=aerodrome][aeroway!=heliport][aeroway!=helipad],
-*[icao                         ][aeroway!=aerodrome][aeroway!=heliport][aeroway!=helipad] {
+*[icao                         ][aeroway!=aerodrome][aeroway!=heliport][aeroway!=helipad],
+*[substation                   ][power!=substation][power!~/pole|tower/][pipeline!=substation] {
   throwWarning: tr("{0} without {1}, {2} or {3}", "{0.key}", "{1.tag}", "{2.tag}", "{3.tag}");
   group: tr("missing tag");
@@ -1057,4 +1057,12 @@
 }
 
+/* #20421 */
+*[substation][transformer=distribution] {
+  throwWarning: tr("{0} together with {1}", "{1.tag}", "{0.key}");
+  suggestAlternative: "transformer=main";
+  group: tr("suspicious tag combination");
+  fixAdd: "transformer=main"
+}
+
 /* #21836 */
 *[voltage:primary][voltage:secondary][transformer=generator][tag("voltage:secondary")<tag("voltage:primary")] {
