Index: trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 12069)
+++ trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 12070)
@@ -21,4 +21,5 @@
 import org.openstreetmap.josm.io.CertificateAmendment;
 import org.openstreetmap.josm.io.OsmApi;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
 import org.openstreetmap.josm.tools.I18n;
 import org.openstreetmap.josm.tools.JosmRuntimeException;
@@ -140,5 +141,5 @@
 
     private void setupGUI() {
-        Main.getLayerManager().resetState();
+        JOSMTestRules.cleanLayerEnvironment();
         assertTrue(Main.getLayerManager().getLayers().isEmpty());
         assertNull(Main.getLayerManager().getEditLayer());
Index: trunk/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java	(revision 12069)
+++ trunk/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java	(revision 12070)
@@ -15,4 +15,5 @@
 import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.osm.event.SelectionEventManager;
 import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;
@@ -286,8 +287,20 @@
     private void cleanUpFromJosmFixture() {
         MemoryManagerTest.resetState(true);
-        Main.getLayerManager().resetState();
+        cleanLayerEnvironment();
         Main.pref.resetToInitialState();
         Main.platform = null;
         System.gc();
+    }
+
+    /**
+     * Cleans the Layer manager and the SelectionEventManager.
+     * You don't need to call this during tests, the test environment will do it for you.
+     * @since 12070
+     */
+    public static void cleanLayerEnvironment() {
+        // Get the instance before cleaning - this ensures that it is initialized.
+        SelectionEventManager eventManager = SelectionEventManager.getInstance();
+        Main.getLayerManager().resetState();
+        eventManager.resetState();
     }
 
@@ -304,5 +317,5 @@
         });
         // Remove all layers
-        Main.getLayerManager().resetState();
+        cleanLayerEnvironment();
         MemoryManagerTest.resetState(allowMemoryManagerLeaks);
 
