Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj	(revision 9246)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj	(revision 9247)
@@ -157,5 +157,5 @@
 {
     < IDENT: ["a"-"z","A"-"Z","_"] ( ["a"-"z","A"-"Z","_","-","0"-"9"] )* >
-|   < UINT: ["1"-"9"] ( ["0"-"9"] )* >
+|   < UINT: ( ["0"-"9"] )+ >
 |   < STRING: "\"" ( [" ","!","#"-"[","]"-"~","\u0080"-"\uFFFF"] | "\\\"" | "\\\\" )*  "\"" >
 |   < #PREDEFINED: "\\" ["d","D","s","S","w","W","b","B","A","G","Z","z"] >
Index: /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/KeyValueConditionTest.groovy
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/KeyValueConditionTest.groovy	(revision 9246)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/KeyValueConditionTest.groovy	(revision 9247)
@@ -101,3 +101,19 @@
         assert selNeg.matches(new Environment(OsmUtils.createPrimitive("way foo=bar src=1,2")))
     }
+
+    @Test
+    public void testValueFive() throws Exception {
+        // ticket #5985
+        def sel = new MapCSSParser(new StringReader("*[width=5]")).selector()
+        assert sel.matches(new Environment(OsmUtils.createPrimitive("way highway=track width=5")))
+        assert !sel.matches(new Environment(OsmUtils.createPrimitive("way highway=track width=2")))
+    }
+
+    @Test
+    public void testValueZero() throws Exception {
+        // ticket #12267
+        def sel = new MapCSSParser(new StringReader("*[frequency=0]")).selector()
+        assert sel.matches(new Environment(OsmUtils.createPrimitive("way railway=rail frequency=0")))
+        assert !sel.matches(new Environment(OsmUtils.createPrimitive("way railway=rail frequency=50")))
+    }
 }
