Index: trunk/src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java	(revision 18201)
+++ trunk/src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java	(revision 18202)
@@ -2150,5 +2150,5 @@
                 UnaryMatchFactory unaryFactory = unaryMatchFactoryMap.get(key);
                 if (unaryFactory != null)
-                    return unaryFactory.get(key, parseFactor(), tokenizer).validate();
+                    return getValidate(unaryFactory, key, tokenizer);
 
                 // key:value form where value is a string (may be OSM key search)
@@ -2164,5 +2164,5 @@
                 UnaryMatchFactory unaryFactory = unaryMatchFactoryMap.get(key);
                 if (unaryFactory != null)
-                    return unaryFactory.get(key, parseFactor(), null).validate();
+                    return getValidate(unaryFactory, key, null);
 
                 // match string in any key or value
@@ -2175,4 +2175,10 @@
     private Match parseFactor(String errorMessage) throws SearchParseError {
         return Optional.ofNullable(parseFactor()).orElseThrow(() -> new SearchParseError(errorMessage));
+    }
+
+    private Match getValidate(UnaryMatchFactory unaryFactory, String key, PushbackTokenizer tokenizer)
+            throws SearchParseError {
+        UnaryMatch match = unaryFactory.get(key, parseFactor(), tokenizer);
+        return match != null ? match.validate() : null;
     }
 
