Index: /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 2225)
+++ /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 2226)
@@ -29,5 +29,6 @@
 public class SearchAction extends JosmAction{
 
-    public static final int SEARCH_HISTORY_SIZE = 10;
+    public static final int DEFAULT_SEARCH_HISTORY_SIZE = 10;
+
 
     public static enum SearchMode {
@@ -158,7 +159,7 @@
     public static void searchWithHistory(SearchSetting s) {
         if(searchHistory.isEmpty() || !s.equals(searchHistory.getFirst())) {
-            searchHistory.addFirst(s);
-        }
-        while (searchHistory.size() > SEARCH_HISTORY_SIZE) {
+            searchHistory.addFirst(new SearchSetting(s));
+        }
+        while (searchHistory.size() > Main.pref.getInteger("search.history-size", DEFAULT_SEARCH_HISTORY_SIZE)) {
             searchHistory.removeLast();
         }
@@ -280,4 +281,12 @@
         }
 
+        public SearchSetting(SearchSetting original) {
+            super();
+            this.caseSensitive = original.caseSensitive;
+            this.regexSearch = original.regexSearch;
+            this.mode = original.mode;
+            this.text = original.text;
+        }
+
         @Override
         public String toString() {
