Index: trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 14155)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 14156)
@@ -222,4 +222,6 @@
     public void exitMode() {
         super.exitMode();
+        cycleManager.cycleStart = null;
+        cycleManager.cycleList = asColl(null);
         selectionManager.unregister(mv);
         mv.removeMouseListener(this);
Index: trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java	(revision 14155)
+++ trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java	(revision 14156)
@@ -251,5 +251,7 @@
         activeLayer = layer;
         if (activeLayer instanceof AbstractOsmDataLayer) {
-            dataLayer = (AbstractOsmDataLayer) layer;
+            dataLayer = (AbstractOsmDataLayer) activeLayer;
+        } else if (forceEditLayerUpdate) {
+            dataLayer = null;
         }
         if (activeLayer instanceof OsmDataLayer) {
