Index: trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 9263)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 9264)
@@ -60,4 +60,5 @@
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
+import org.openstreetmap.josm.gui.NavigatableComponent;
 import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
 import org.openstreetmap.josm.gui.PopupMenuHandler;
@@ -85,5 +86,5 @@
  * objects are visible on the map and can be selected there. Relations are not.
  */
-public class RelationListDialog extends ToggleDialog implements DataSetListener {
+public class RelationListDialog extends ToggleDialog implements DataSetListener, NavigatableComponent.ZoomChangeListener {
     /** The display list. */
     private final JList<Relation> displaylist;
@@ -206,4 +207,5 @@
     public void showNotify() {
         MapView.addLayerChangeListener(newAction);
+        MapView.addZoomChangeListener(this);
         newAction.updateEnabledState();
         DatasetEventManager.getInstance().addDatasetListener(this, FireMode.IN_EDT);
@@ -215,4 +217,5 @@
     public void hideNotify() {
         MapView.removeLayerChangeListener(newAction);
+        MapView.removeZoomChangeListener(this);
         DatasetEventManager.getInstance().removeDatasetListener(this);
         DataSet.removeSelectionListener(addSelectionToRelations);
@@ -671,3 +674,11 @@
         /* ignore */
     }
+
+    @Override
+    public void zoomChanged() {
+        // re-filter relations
+        if (model.filter != null) {
+            model.setFilter(model.filter);
+        }
+    }
 }
