Index: trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 7534)
+++ trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 7535)
@@ -9,4 +9,6 @@
 
 import org.openstreetmap.josm.data.projection.Projections;
+import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.gui.preferences.ToolbarPreferences;
 import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.tools.I18n;
@@ -52,7 +54,15 @@
 
     /**
-     * Initializes the test fixture.
+     * Initializes the test fixture, without GUI.
      */
     public void init() {
+        init(false);
+    }
+
+    /**
+     * Initializes the test fixture, with or without GUI.
+     * @param createGui if {@code true} creates main GUI components
+     */
+    public void init(boolean createGui) {
 
         // check josm.home
@@ -89,4 +99,16 @@
             fail(MessageFormat.format("configured server url ''{0}'' seems to be a productive url, aborting.", url));
         }
+
+        if (createGui) {
+            if (Main.toolbar == null) {
+                Main.toolbar = new ToolbarPreferences();
+            }
+            if (Main.main == null) {
+                new MainApplication();
+            }
+            if (Main.map == null) {
+                Main.main.createMapFrame(null, null);
+            }
+        }
     }
 }
Index: trunk/test/unit/org/openstreetmap/josm/actions/JoinAreasActionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/actions/JoinAreasActionTest.java	(revision 7534)
+++ trunk/test/unit/org/openstreetmap/josm/actions/JoinAreasActionTest.java	(revision 7535)
@@ -12,7 +12,5 @@
 import org.openstreetmap.josm.TestUtils;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
-import org.openstreetmap.josm.gui.preferences.ToolbarPreferences;
 import org.openstreetmap.josm.io.IllegalDataException;
 import org.openstreetmap.josm.io.OsmReader;
@@ -28,8 +26,5 @@
     @BeforeClass
     public static void setUp() {
-        JOSMFixture.createUnitTestFixture().init();
-        Main.toolbar = new ToolbarPreferences();
-        new MainApplication();
-        Main.main.createMapFrame(null, null);
+        JOSMFixture.createUnitTestFixture().init(true);
     }
 
Index: trunk/test/unit/org/openstreetmap/josm/io/session/SessionWriterTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/session/SessionWriterTest.java	(revision 7534)
+++ trunk/test/unit/org/openstreetmap/josm/io/session/SessionWriterTest.java	(revision 7535)
@@ -12,15 +12,12 @@
 import org.junit.Test;
 import org.openstreetmap.josm.JOSMFixture;
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.gpx.GpxData;
 import org.openstreetmap.josm.data.gpx.WayPoint;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer;
-import org.openstreetmap.josm.gui.preferences.ToolbarPreferences;
 import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
 import org.openstreetmap.josm.tools.MultiMap;
@@ -79,9 +76,6 @@
     @BeforeClass
     public static void setUpBeforeClass() {
-        JOSMFixture.createUnitTestFixture().init();
+        JOSMFixture.createUnitTestFixture().init(true);
         ProjectionPreference.setProjection();
-        Main.toolbar = new ToolbarPreferences();
-        new MainApplication();
-        Main.main.createMapFrame(null, null);
     }
 
