Index: trunk/resources/data/defaultpresets.xml
===================================================================
--- trunk/resources/data/defaultpresets.xml	(revision 17457)
+++ trunk/resources/data/defaultpresets.xml	(revision 17466)
@@ -2374,5 +2374,5 @@
             <link wiki="Tag:railway=milestone" />
             <key key="railway" value="milestone" />
-            <text key="distance" text="Distance (kilometers)" />
+            <text key="railway:position" text="Position (kilometers)" />
             <text key="ref" text="Reference" />
         </item> <!-- Railway Milestone -->
Index: trunk/resources/data/validator/deprecated.mapcss
===================================================================
--- trunk/resources/data/validator/deprecated.mapcss	(revision 17457)
+++ trunk/resources/data/validator/deprecated.mapcss	(revision 17466)
@@ -670,5 +670,5 @@
 /* #11330, #18642 */
 *[/^.$/],
-node[/^..$/],
+node[/^..$/][!kp][!pk],
 way[/^..$/][route=ferry][!to],
 way[/^..$/][route!=ferry],
@@ -681,4 +681,6 @@
   assertMatch: "node fo=bar";
   assertMatch: "node f=b";
+  assertNoMatch: "node kp=5"; /* already has a deprecated warning */
+  assertNoMatch: "node pk=7"; /* already has a deprecated warning */
 }
 
@@ -725,8 +727,6 @@
 }
 
-/* #8717 */
-*[kp][highway=milestone],
-*[kp][railway=milestone],
-*[kp][waterway=milestone] {
+/* #8717, #20326 */
+*[kp][railway!=milestone] {
   throwWarning: tr("{0} is deprecated", "{0.key}");
   suggestAlternative: "distance";
@@ -734,11 +734,27 @@
   fixChangeKey: "kp => distance";
 }
-*[pk][highway=milestone],
-*[pk][railway=milestone],
-*[pk][waterway=milestone] {
+*[pk][railway!=milestone] {
   throwWarning: tr("{0} is deprecated", "{0.key}");
   suggestAlternative: "distance";
   group: tr("deprecated tagging");
   fixChangeKey: "pk => distance";
+}
+*[kp][railway=milestone] {
+  throwWarning: tr("{0} is deprecated", "{0.key}");
+  suggestAlternative: "railway:position";
+  group: tr("deprecated tagging");
+  fixChangeKey: "kp => railway:position";
+}
+*[pk][railway=milestone] {
+  throwWarning: tr("{0} is deprecated", "{0.key}");
+  suggestAlternative: "railway:position";
+  group: tr("deprecated tagging");
+  fixChangeKey: "pk => railway:position";
+}
+*[distance][railway=milestone] {
+  throwWarning: tr("{0} is deprecated for {1}", "{0.key}", "{1.tag}");
+  suggestAlternative: "railway:position";
+  group: tr("deprecated tagging");
+  fixChangeKey: "distance => railway:position";
 }
 
Index: trunk/resources/data/validator/ignoretags.cfg
===================================================================
--- trunk/resources/data/validator/ignoretags.cfg	(revision 17457)
+++ trunk/resources/data/validator/ignoretags.cfg	(revision 17466)
@@ -699,4 +699,6 @@
 K:cuisine=BBQ
 E:pole:type
+E:kp
+E:pk
 ;
 ; Tags not yet decided (to remove from this section when added or moved up when deprecated) 
