Index: trunk/data/validator/highway.mapcss
===================================================================
--- trunk/data/validator/highway.mapcss	(revision 7977)
+++ trunk/data/validator/highway.mapcss	(revision 9839)
@@ -110,2 +110,13 @@
   throwWarning: tr("Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use ''{3}'' instead.", "{0.key}", "{1.value}", "{2.value}", "sidewalk=left|right|both|no");
 }
+
+/* #11270 */
+way[railway =~ /^(light_rail|miniature|narrow_gauge|preserved|rail)$/] > node { set .is_in_railway }
+way[highway =~ /^(bridleway|cycleway|footway|path|steps)$/] > node[railway != crossing].is_in_railway {
+  throwWarning: tr("pedestrian railway crossing without {0}", "{0.tag}");
+  fixAdd: "railway=crossing";
+}
+way[highway =~ /^(bus_guideway|living_street|motorway|pedestrian|primary|raceway|residential|road|secondary|service|tertiary|track|trunk|unclassified)/] > node[railway != level_crossing].is_in_railway {
+  throwWarning: tr("railway crossing without {0}", "{0.tag}");
+  fixAdd: "railway=level_crossing";
+}
