Index: trunk/src/org/openstreetmap/josm/data/osm/Filters.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Filters.java	(revision 3344)
+++ trunk/src/org/openstreetmap/josm/data/osm/Filters.java	(revision 3346)
@@ -64,5 +64,5 @@
      * (but hides them only if they are not used by any unfiltered way).
      */
-    public void executeFilters(){
+    public void executeFilters() {
         DataSet ds = Main.main.getCurrentDataSet();
         if (ds == null)
@@ -248,4 +248,5 @@
 
         Main.map.mapView.repaint();
+        Main.map.filterDialog.updateDialogHeader();
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java	(revision 3344)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java	(revision 3346)
@@ -18,6 +18,5 @@
 import javax.swing.JTable;
 import javax.swing.ListSelectionModel;
-import javax.swing.event.TableModelEvent;
-import javax.swing.event.TableModelListener;
+import javax.swing.SwingUtilities;
 import javax.swing.table.DefaultTableCellRenderer;
 import javax.swing.table.JTableHeader;
@@ -41,5 +40,5 @@
  * @author Petr_Dlouhý
  */
-public class FilterDialog extends ToggleDialog implements Listener, TableModelListener {
+public class FilterDialog extends ToggleDialog implements Listener {
 
     private JTable userTable;
@@ -162,6 +161,4 @@
         };
 
-        filters.addTableModelListener(this);
-
         userTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
 
@@ -178,6 +175,4 @@
         userTable.setDefaultRenderer(Boolean.class, new BooleanRenderer());
         userTable.setDefaultRenderer(String.class, new StringRenderer());
-
-        tableChanged(null);
 
         pnl.add(new JScrollPane(userTable), BorderLayout.CENTER);
@@ -213,6 +208,10 @@
     }
 
-    public void tableChanged(TableModelEvent e){
-        setTitle(tr("Filter Hidden:{0} Disabled:{1}", filters.disabledAndHiddenCount, filters.disabledCount));
+    public void updateDialogHeader() {
+        SwingUtilities.invokeLater(new Runnable() {
+            public void run() {
+                setTitle(tr("Filter Hidden:{0} Disabled:{1}", filters.disabledAndHiddenCount, filters.disabledCount));
+            }
+        });
     }
 
