Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Condition.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Condition.java	(revision 8514)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Condition.java	(revision 8515)
@@ -500,5 +500,5 @@
                 return new PseudoClassCondition(method, not);
             }
-            throw new IllegalArgumentException("Invalid pseudo class specified: " + id);
+            throw new MapCSSException("Invalid pseudo class specified: " + id);
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj	(revision 8514)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj	(revision 8515)
@@ -36,4 +36,5 @@
 import org.openstreetmap.josm.tools.ColorHelper;
 import org.openstreetmap.josm.tools.Pair;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -1145,6 +1146,7 @@
 
     if (me != null) {
-        me.setLine(pe.currentToken.next.beginLine);
-        me.setColumn(pe.currentToken.next.beginColumn);
+        final Token token = Utils.firstNonNull(pe.currentToken.next, pe.currentToken);
+        me.setLine(token.beginLine);
+        me.setColumn(token.beginColumn);
         e = me;
     } else {
