diff --git a/src/org/openstreetmap/josm/actions/search/SearchAction.java b/src/org/openstreetmap/josm/actions/search/SearchAction.java
index 4d7938f..c232823 100644
--- a/src/org/openstreetmap/josm/actions/search/SearchAction.java
+++ b/src/org/openstreetmap/josm/actions/search/SearchAction.java
@@ -199,6 +199,7 @@ public class SearchAction extends JosmAction implements ParameterizedAction {
                     + "<li>"+tr("<b>role:</b>... - object with given role in a relation")+"</li>"
                     + "<li>"+tr("<b>timestamp:</b>... -  objects with this timestamp (<b>2009-11-12T14:51:09Z</b>, <b>2009-11-12</b> or <b>T14:51</b> ...)")+"</li>"
                     + "<li>"+tr("<b>areasize:</b>... - closed ways with area between MIN and MAX m\u00b2. (areasize:MIN-MAX or areasize:MAX)")+"</li>"
+                    + "<li>"+tr("<b>new</b> - all new objects")+"</li>"
                     + "<li>"+tr("<b>modified</b> - all changed objects")+"</li>"
                     + "<li>"+tr("<b>selected</b> - all selected objects")+"</li>"
                     + "<li>"+tr("<b>incomplete</b> - all incomplete objects")+"</li>"
diff --git a/src/org/openstreetmap/josm/actions/search/SearchCompiler.java b/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
index 8300913..4ae054f 100644
--- a/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
+++ b/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
@@ -547,6 +547,15 @@ public class SearchCompiler {
         @Override public String toString() {return "tags="+minCount+"-"+maxCount;}
     }
 
+    private static class New extends Match {
+        @Override public boolean match(OsmPrimitive osm) {
+            return osm.isNew();
+        }
+        @Override public String toString() {
+            return "new";
+        }
+    }
+
     private static class Modified extends Match {
         @Override public boolean match(OsmPrimitive osm) {
             return osm.isModified() || osm.isNewOrUndeleted();
@@ -738,6 +747,8 @@ public class SearchCompiler {
                     return parseKV(key, tokenizer.readTextOrNumber());
             } else if (tokenizer.readIfEqual(Token.QUESTION_MARK))
                 return new BooleanMatch(key, false);
+            else if ("new".equals(key))
+                return new New();
             else if ("modified".equals(key))
                 return new Modified();
             else if ("incomplete".equals(key))
