Index: resources/data/validator/highway.mapcss
===================================================================
--- resources/data/validator/highway.mapcss	(revision 17884)
+++ resources/data/validator/highway.mapcss	(working copy)
@@ -8,6 +8,17 @@
   set minor_road;
 }
 
+/* 9819 dealing with highways, waterways, and railways with lone layer tag. */
+way[/^highway|waterway|railway$/][layer][!bridge][!tunnel][!covered][highway!=steps][highway!=elevator] {
+  throwWarning: tr("inspect to confirm a layer tag is necessary on this way. If so, add {0}/{1} or any other tags complimentary to layer=* (examples: highway=steps, highway=elevator, covered=*)", "bridge=*", "tunnel=*");
+  assertMatch: "way highway=tertiary layer=2";
+  assertMatch: "way waterway=stream layer=-1";
+  assertMatch: "way railway=rail layer=2";
+  assertNoMatch: "way highway=tertiary layer=2 bridge=yes";
+  assertNoMatch: "way waterway=stream layer=-1 tunnel=yes";
+  assertNoMatch: "way railway=rail layer=2 bridge=yes";
+}
+
 /* r3669, #9384, #20117 */
 way[highway][name =~ /(?i).* (Ave|Blvd|Bnd|Br|Brg|Cct|Cir|Cl|Cr|Crct|Cres|Crt|Ct|Cv|Dr|Drv|Esp|Espl|Hwy|Ln|Mw|Mwy|Pky|Pkwy|Pl|Rd|Qy|Qys|Sq|St|Str|Ter|Tce|Tr|Trl|Vw|Wy|Xing)[.]?$/] {
   throwWarning: tr("abbreviated street name");
