Index: src/org/openstreetmap/josm/data/osm/Filter.java
===================================================================
--- src/org/openstreetmap/josm/data/osm/Filter.java	(revision 14930)
+++ src/org/openstreetmap/josm/data/osm/Filter.java	(working copy)
@@ -46,6 +46,15 @@
     }
 
     /**
+     * Constructs a new {@code Filter} from a {@code SearchSetting}
+     * @param setting {@code SearchSetting} to construct information from
+     * @since xxx
+     */
+    public Filter(SearchSetting setting) {
+        super(setting);
+    }
+
+    /**
      * Constructs a new {@code Filter} from a preference entry.
      * @param e preference entry
      */
Index: src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java	(revision 14930)
+++ src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java	(working copy)
@@ -40,6 +40,7 @@
 import org.openstreetmap.josm.data.osm.event.RelationMembersChangedEvent;
 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;
 import org.openstreetmap.josm.gui.MapFrame.MapModeChangeListener;
@@ -141,9 +142,9 @@
 
             @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));
                 }
             }
         });
@@ -159,9 +160,9 @@
                 int index = userTable.getSelectionModel().getMinSelectionIndex();
                 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));
                 }
             }
         });
