Index: trunk/resources/data/defaultpresets.xml
===================================================================
--- trunk/resources/data/defaultpresets.xml	(revision 19589)
+++ trunk/resources/data/defaultpresets.xml	(revision 19590)
@@ -6620,5 +6620,5 @@
             <key key="pipeline" value="substation" />
             <text key="name" text="Name" />
-            <combo key="substation" text="Type" values="compression,distribution,field_gathering,inspection_gauge,measurement,valve,valve_group" values_context="pipeline" values_searchable="true" />
+            <combo key="substation" text="Role of substation" values="compression,distribution,field_gathering,inspection_gauge,measurement,valve,valve_group" values_context="pipeline" values_searchable="true" />
             <reference ref="ref_operator" />
             <reference ref="substance" />
@@ -7128,5 +7128,5 @@
             <key key="power" value="substation" />
             <text key="name" text="Name" />
-            <combo key="substation" text="Type of substation" values="compensation,converter,distribution,industrial,minor_distribution,traction,transition,transmission" values_context="power" />
+            <combo key="substation" text="Role of substation" values="compensation,converter,distribution,industrial,minor_distribution,traction,transition,transmission" values_context="power" />
             <reference ref="power_loc" />
             <reference ref="voltage_frequency" />
@@ -7142,5 +7142,5 @@
             <space />
             <key key="power" value="transformer" />
-            <combo key="transformer" text="Type of transformer" values="auxiliary,converter,distribution,generator,main,phase_angle_regulator,yes" match="key" values_context="power" />
+            <combo key="transformer" text="Nature of transformer" values="auxiliary,converter,distribution,generator,main,phase_angle_regulator,yes" match="key" values_context="power" />
             <reference ref="power_loc" />
             <reference ref="transformer_voltage_frequency" />
@@ -7299,8 +7299,23 @@
             <space />
             <label text="Transformer Attributes:" />
-            <key key="transformer" value="distribution" match="key!" />
+            <key key="transformer" value="distribution" match="keyvalue!" />
             <reference ref="transformer_voltage_frequency" />
             <reference ref="optional_transformer_rating_phases_devices_windings" />
         </item> <!-- Pole with Transformer -->
+        <item name="Pole with Substation" icon="presets/power/pole_transformer.svg" type="node" preset_name_label="true">
+            <link wiki="Tag:power=pole" />
+            <space />
+            <key key="power" value="pole" />
+            <label text="Pole Attributes:" />
+            <reference ref="power_pole" />
+            <space />
+            <label text="Substation Attributes:" />
+            <combo key="substation" text="Role of substation" values="industrial,minor_distribution" match="key!" />
+            <space />
+            <label text="Transformer Attributes:" />
+            <combo key="transformer" text="Nature of transformer" values="main" match="none" />
+            <reference ref="transformer_voltage_frequency" />
+            <reference ref="optional_transformer_rating_phases_devices_windings" />
+        </item> <!-- Pole with Substation -->
         <item name="Catenary mast" icon="presets/power/catenary_mast.svg" type="node" preset_name_label="true">
             <link wiki="Tag:power=catenary_mast" />
Index: trunk/resources/data/validator/combinations.mapcss
===================================================================
--- trunk/resources/data/validator/combinations.mapcss	(revision 19589)
+++ 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")] {
Index: trunk/resources/data/validator/deprecated.mapcss
===================================================================
--- trunk/resources/data/validator/deprecated.mapcss	(revision 19589)
+++ trunk/resources/data/validator/deprecated.mapcss	(revision 19590)
@@ -2333,4 +2333,27 @@
 }
 
+/* #20421 */
+*[transformer=minor_distribution] {
+  throwWarning: tr("{0} is deprecated", "{1.tag}");
+  suggestAlternative: "transformer=distribution";
+  group: tr("deprecated tagging");
+  fixAdd: "transformer=distribution";
+}
+
+*[transformer=traction] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "transformer=main";
+  group: tr("deprecated tagging");
+  fixAdd: "transformer=main";
+}
+
+*[transformer=auto] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "transformer=* + windings:auto=yes";
+  group: tr("deprecated tagging");
+  fixRemove: "transformer";
+  fixAdd: "windings:auto=yes";
+}
+
 /* #20434 */
 *[building:roof:shape] {
Index: trunk/resources/data/validator/geometry.mapcss
===================================================================
--- trunk/resources/data/validator/geometry.mapcss	(revision 19589)
+++ trunk/resources/data/validator/geometry.mapcss	(revision 19590)
@@ -430,4 +430,11 @@
 }
 
+/* 20421 */
+area[power=substation] ⊇ *[transformer=distribution] {
+  throwWarning: tr("A distribution transformer shouldn't be contained in a substation.");
+  suggestAlternative: "transformer=main";
+  fixAdd: "transformer=main";
+}
+
 /* #21801 */
 way[railway][railway !~ /^(turntable|traverser|platform_edge|roundhouse|workshop|platform)$/] > node[/railway$/ !~ /^(switch|railway_crossing)$/][count(parent_osm_primitives("railway")) > 2]:connection,
Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java	(revision 19589)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java	(revision 19590)
@@ -82,5 +82,5 @@
      */
     public static MapPaintSettings createSettings(String prefix) {
-        return new MapPaintSettings(name);
+        return new MapPaintSettings(prefix);
     }
 
