Index: /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 1450)
+++ /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 1451)
@@ -124,5 +124,6 @@
      */
     public static void searchWithHistory(SearchSetting s) {
-        searchHistory.addFirst(s);
+        if(searchHistory.isEmpty() || !s.equals(searchHistory.getFirst()))
+            searchHistory.addFirst(s);
         while (searchHistory.size() > SEARCH_HISTORY_SIZE)
             searchHistory.removeLast();
@@ -203,4 +204,13 @@
         }
 
+        public boolean equals(Object other) {
+            if(!(other instanceof SearchSetting))
+                return false;
+            SearchSetting o = (SearchSetting) other;
+            return (o.caseSensitive == this.caseSensitive
+                 && o.regexSearch == this.regexSearch
+                 && o.mode.equals(this.mode)
+                 && o.text.equals(this.text));
+        }
     }
 }
