Index: trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 6761)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 6762)
@@ -308,5 +308,6 @@
         String getMessage(OsmPrimitive p) {
             if (errors.isEmpty()) {
-                return null;
+                // Return something to avoid NPEs
+                return rule.declaration.toString();
             } else {
                 final Object val = errors.keySet().iterator().next().val;
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 6761)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java	(revision 6762)
@@ -230,5 +230,5 @@
             if (ChildOrParentSelectorType.ELEMENT_OF.equals(type)) {
 
-                if (e.osm instanceof Node) {
+                if (e.osm instanceof Node || e.osm.getDataSet() == null) {
                     // nodes cannot contain elements
                     return false;
