Index: trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 14931)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 14932)
@@ -173,5 +173,5 @@
      * @param initialValues A set of initial values needed in order to initialize the search dialog.
      *                      If is {@code null}, then default settings are used.
-     * @return Returns {@link SearchAction} object containing parameters of the search.
+     * @return Returns new {@link SearchSetting} object containing parameters of the search.
      */
     public static SearchSetting showSearchDialog(SearchSetting initialValues) {
Index: trunk/src/org/openstreetmap/josm/data/osm/Filter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Filter.java	(revision 14931)
+++ trunk/src/org/openstreetmap/josm/data/osm/Filter.java	(revision 14932)
@@ -44,4 +44,13 @@
         super();
         mode = SearchMode.add;
+    }
+
+    /**
+     * Constructs a new {@code Filter} from a {@code SearchSetting}
+     * @param setting {@code SearchSetting} to construct information from
+     * @since 14932
+     */
+    public Filter(SearchSetting setting) {
+        super(setting);
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java	(revision 14931)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java	(revision 14932)
@@ -41,4 +41,5 @@
 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
+import org.openstreetmap.josm.data.osm.search.SearchSetting;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapFrame;
@@ -142,7 +143,7 @@
             @Override
             public void actionPerformed(ActionEvent e) {
-                Filter filter = (Filter) SearchAction.showSearchDialog(new Filter());
-                if (filter != null) {
-                    filterModel.addFilter(filter);
+                SearchSetting searchSetting = SearchAction.showSearchDialog(new Filter());
+                if (searchSetting != null) {
+                    filterModel.addFilter(new Filter(searchSetting));
                 }
             }
@@ -160,7 +161,7 @@
                 if (index < 0) return;
                 Filter f = filterModel.getFilter(index);
-                Filter filter = (Filter) SearchAction.showSearchDialog(f);
-                if (filter != null) {
-                    filterModel.setFilter(index, filter);
+                SearchSetting searchSetting = SearchAction.showSearchDialog(f);
+                if (searchSetting != null) {
+                    filterModel.setFilter(index, new Filter(searchSetting));
                 }
             }
