Index: trunk/src/org/openstreetmap/josm/data/osm/Filters.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Filters.java	(revision 3198)
+++ trunk/src/org/openstreetmap/josm/data/osm/Filters.java	(revision 3199)
@@ -39,7 +39,8 @@
         Collection<OsmPrimitive> seld = new LinkedList<OsmPrimitive> ();
         Collection<OsmPrimitive> self = new LinkedList<OsmPrimitive> ();
-        if(Main.main.getCurrentDataSet() == null)return;
-        Main.main.getCurrentDataSet().setFiltered();
-        Main.main.getCurrentDataSet().setDisabled();
+        DataSet ds = Main.main.getCurrentDataSet();
+        if(ds == null)return;
+        ds.setFiltered();
+        ds.setDisabled();
         for (Filter flt : filters){
             if(flt.enable){
@@ -60,6 +61,9 @@
         disabledCount = seld.size() - self.size();
         hiddenCount = self.size();
-        Main.main.getCurrentDataSet().setFiltered(self);
-        Main.main.getCurrentDataSet().setDisabled(seld);
+        ds.setFiltered(self);
+        ds.setDisabled(seld);
+
+        ds.clearSelection(seld);
+
         Main.map.mapView.repaint();
     }
