Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.java	(revision 3911)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.java	(revision 3912)
@@ -546,5 +546,4 @@
           jj_consume_token(EQUAL);
                                       op=Condition.Op.ONE_OF;
-          val = string_or_ident();
           break;
         case CARET:
@@ -552,5 +551,4 @@
           jj_consume_token(EQUAL);
                                       op=Condition.Op.BEGINS_WITH;
-          val = string_or_ident();
           break;
         case DOLLAR:
@@ -558,5 +556,4 @@
           jj_consume_token(EQUAL);
                                        op=Condition.Op.ENDS_WITH;
-          val = string_or_ident();
           break;
         case STAR:
@@ -564,5 +561,4 @@
           jj_consume_token(EQUAL);
                                      op=Condition.Op.CONTAINS;
-          val = string_or_ident();
           break;
         default:
@@ -1174,5 +1170,4 @@
     if (jj_scan_token(DOLLAR)) return true;
     if (jj_scan_token(EQUAL)) return true;
-    if (jj_3R_56()) return true;
     return false;
   }
@@ -1181,5 +1176,4 @@
     if (jj_scan_token(CARET)) return true;
     if (jj_scan_token(EQUAL)) return true;
-    if (jj_3R_56()) return true;
     return false;
   }
@@ -1188,5 +1182,4 @@
     if (jj_scan_token(TILDE)) return true;
     if (jj_scan_token(EQUAL)) return true;
-    if (jj_3R_56()) return true;
     return false;
   }
@@ -1248,4 +1241,25 @@
     }
     }
+    return false;
+  }
+
+  private boolean jj_3R_55() {
+    if (jj_scan_token(COLON)) return true;
+    if (jj_scan_token(IDENT)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_56() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_73()) {
+    jj_scanpos = xsp;
+    if (jj_3R_74()) return true;
+    }
+    return false;
+  }
+
+  private boolean jj_3R_73() {
+    if (jj_scan_token(IDENT)) return true;
     return false;
   }
@@ -1259,25 +1273,4 @@
   }
 
-  private boolean jj_3R_55() {
-    if (jj_scan_token(COLON)) return true;
-    if (jj_scan_token(IDENT)) return true;
-    return false;
-  }
-
-  private boolean jj_3R_56() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_73()) {
-    jj_scanpos = xsp;
-    if (jj_3R_74()) return true;
-    }
-    return false;
-  }
-
-  private boolean jj_3R_73() {
-    if (jj_scan_token(IDENT)) return true;
-    return false;
-  }
-
   private boolean jj_3R_27() {
     if (jj_3R_50()) return true;
@@ -1858,5 +1851,4 @@
     if (jj_scan_token(STAR)) return true;
     if (jj_scan_token(EQUAL)) return true;
-    if (jj_3R_56()) return true;
     return false;
   }
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.jj
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.jj	(revision 3911)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/parser/MapCSSParser.jj	(revision 3912)
@@ -354,11 +354,11 @@
                     <EQUAL> { op=Condition.Op.EQ; }
                 |
-                    <TILDE> <EQUAL> { op=Condition.Op.ONE_OF; } val=string_or_ident()
-                |
-                    <CARET> <EQUAL> { op=Condition.Op.BEGINS_WITH; } val=string_or_ident()
-                |
-                    <DOLLAR> <EQUAL> { op=Condition.Op.ENDS_WITH; } val=string_or_ident()
-                |
-                    <STAR> <EQUAL> { op=Condition.Op.CONTAINS; } val=string_or_ident()
+                    <TILDE> <EQUAL> { op=Condition.Op.ONE_OF; }
+                |
+                    <CARET> <EQUAL> { op=Condition.Op.BEGINS_WITH; }
+                |
+                    <DOLLAR> <EQUAL> { op=Condition.Op.ENDS_WITH; }
+                |
+                    <STAR> <EQUAL> { op=Condition.Op.CONTAINS; }
             )
             s()
