Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java	(revision 12372)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java	(revision 12373)
@@ -43,4 +43,5 @@
 import org.openstreetmap.josm.data.osm.event.DatasetEventManager;
 import org.openstreetmap.josm.data.osm.event.DatasetEventManager.FireMode;
+import org.openstreetmap.josm.data.osm.event.SelectionEventManager;
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.dialogs.changeset.ChangesetCacheManager;
@@ -113,6 +114,5 @@
         // let the model for changesets in the current selection listen to various events
         ChangesetCache.getInstance().addChangesetCacheListener(inSelectionModel);
-        Main.getLayerManager().addActiveLayerChangeListener(inSelectionModel);
-        DataSet.addSelectionListener(inSelectionModel);
+        SelectionEventManager.getInstance().addSelectionListener(inSelectionModel);
 
         // let the model for changesets in the current layer listen to various
@@ -140,7 +140,6 @@
         // remove the list model for the changesets in the current selection as
         // listener
-        //
-        Main.getLayerManager().removeActiveLayerChangeListener(inSelectionModel);
-        DataSet.removeSelectionListener(inSelectionModel);
+        SelectionEventManager.getInstance().removeSelectionListener(inSelectionModel);
+        ChangesetCache.getInstance().removeChangesetCacheListener(inSelectionModel);
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetInSelectionListModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetInSelectionListModel.java	(revision 12372)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetInSelectionListModel.java	(revision 12373)
@@ -2,18 +2,12 @@
 package org.openstreetmap.josm.gui.dialogs.changeset;
 
-import java.util.Collection;
-
 import javax.swing.DefaultListSelectionModel;
 
-import org.openstreetmap.josm.data.SelectionChangedListener;
-import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
-import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
+import org.openstreetmap.josm.data.osm.DataSelectionListener;
 
 /**
  * A table of changesets that displays the ones that are used by the primitives in the current selection.
  */
-public class ChangesetInSelectionListModel extends ChangesetListModel implements SelectionChangedListener, ActiveLayerChangeListener {
+public class ChangesetInSelectionListModel extends ChangesetListModel implements DataSelectionListener {
 
     /**
@@ -26,22 +20,10 @@
 
     /* ---------------------------------------------------------------------------- */
-    /* Interface SelectionChangeListener                                            */
+    /* Interface DataSelectionListener                                              */
     /* ---------------------------------------------------------------------------- */
+
     @Override
-    public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
-        initFromPrimitives(newSelection);
-    }
-
-    /* ---------------------------------------------------------------------------- */
-    /* Interface LayerChangeListener                                                */
-    /* ---------------------------------------------------------------------------- */
-    @Override
-    public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
-        DataSet newData = e.getSource().getEditDataSet();
-        if (newData == null) {
-            setChangesets(null);
-        } else {
-            initFromPrimitives(newData.getAllSelected());
-        }
+    public void selectionChanged(SelectionChangeEvent event) {
+        initFromPrimitives(event.getSelection());
     }
 }
