diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java b/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java
index b3a48ae..324d3ff 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java
@@ -84,8 +84,7 @@ public class MemberTable extends OsmPrimitivesTable implements IMemberModelListe
     protected JPopupMenu buildPopupMenu() {
         JPopupMenu menu = super.buildPopupMenu();
         zoomToGap = new ZoomToGapAction();
-        Main.getLayerManager().addLayerChangeListener(zoomToGap);
-        Main.getLayerManager().addActiveLayerChangeListener(zoomToGap);
+        registerListeners();
         getSelectionModel().addListSelectionListener(zoomToGap);
         menu.add(zoomToGap);
         menu.addSeparator();
@@ -138,6 +137,13 @@ public class MemberTable extends OsmPrimitivesTable implements IMemberModelListe
     }
 
     @Override
+    public void registerListeners() {
+        Main.getLayerManager().addLayerChangeListener(zoomToGap);
+        Main.getLayerManager().addActiveLayerChangeListener(zoomToGap);
+        super.registerListeners();
+    }
+
+    @Override
     public void unregisterListeners() {
         super.unregisterListeners();
         Main.getLayerManager().removeLayerChangeListener(zoomToGap);
