Index: src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java
===================================================================
--- src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java	(revision 15105)
+++ src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java	(working copy)
@@ -1995,7 +1995,7 @@
 
     static Match compileMapCSS(String mapCSS) throws SearchParseError {
         try {
-            final List<Selector> selectors = new MapCSSParser(new StringReader(mapCSS)).selectors();
+            final List<Selector> selectors = new MapCSSParser(new StringReader(mapCSS)).selectors_for_search();
             return new Match() {
                 @Override
                 public boolean match(OsmPrimitive osm) {
Index: src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj
===================================================================
--- src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj	(revision 15105)
+++ src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj	(working copy)
@@ -656,6 +656,16 @@
     }
 }
 
+/** Read selectors, make sure that we read all tokens  See #17746 */
+List<Selector> selectors_for_search():
+{
+    List<Selector> selectors;
+}
+{
+    selectors=selectors() <EOF>
+    { return selectors; }
+}
+
 List<Selector> selectors():
 {
     List<Selector> selectors = new ArrayList<Selector>();
