Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java	(revision 14216)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java	(revision 14217)
@@ -417,4 +417,7 @@
                 if (!server.isClosed()) {
                     Logging.error(e);
+                } else {
+                    // stop the thread automatically if server is stopped
+                    return;
                 }
             } catch (IOException ioe) {
Index: /trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/RemoteControlTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/RemoteControlTest.java	(revision 14216)
+++ /trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/RemoteControlTest.java	(revision 14217)
@@ -26,8 +26,9 @@
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.TestUtils;
 import org.openstreetmap.josm.spi.preferences.Config;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
 import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.PlatformHookWindows;
@@ -54,4 +55,11 @@
 
     /**
+     * Setup test.
+     */
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().preferences().https().assertionsInEDT();
+
+    /**
      * Starts Remote control before testing requests.
      * @throws GeneralSecurityException if a security error occurs
@@ -59,5 +67,4 @@
     @Before
     public void setUp() throws GeneralSecurityException {
-        JOSMFixture.createUnitTestFixture().init();
         RemoteControl.PROP_REMOTECONTROL_HTTPS_ENABLED.put(true);
         deleteKeystore();
Index: /trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/handler/AddNodeHandlerTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/handler/AddNodeHandlerTest.java	(revision 14216)
+++ /trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/handler/AddNodeHandlerTest.java	(revision 14217)
@@ -29,5 +29,5 @@
     @Rule
     @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
-    public JOSMTestRules test = new JOSMTestRules();
+    public JOSMTestRules test = new JOSMTestRules().main().assertionsInEDT().projection();
 
     private static AddNodeHandler newHandler(String url) throws RequestHandlerBadRequestException {
@@ -58,10 +58,6 @@
         thrown.expectMessage("NumberFormatException (empty String)");
         OsmDataLayer layer = new OsmDataLayer(new DataSet(), "", null);
-        try {
-            MainApplication.getLayerManager().addLayer(layer);
-            newHandler(null).handle();
-        } finally {
-            MainApplication.getLayerManager().removeLayer(layer);
-        }
+        MainApplication.getLayerManager().addLayer(layer);
+        newHandler(null).handle();
     }
 
@@ -95,10 +91,6 @@
     public void testNominalRequest() throws Exception {
         OsmDataLayer layer = new OsmDataLayer(new DataSet(), "", null);
-        try {
-            MainApplication.getLayerManager().addLayer(layer);
-            newHandler("https://localhost?lat=0&lon=0").handle();
-        } finally {
-            MainApplication.getLayerManager().removeLayer(layer);
-        }
+        MainApplication.getLayerManager().addLayer(layer);
+        newHandler("https://localhost?lat=0&lon=0").handle();
     }
 }
