Index: trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 10399)
+++ trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 10400)
@@ -15,4 +15,5 @@
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.preferences.ToolbarPreferences;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.io.CertificateAmendment;
 import org.openstreetmap.josm.io.OsmApi;
@@ -115,16 +116,25 @@
 
         if (createGui) {
-            if (Main.toolbar == null) {
-                Main.toolbar = new ToolbarPreferences();
-            }
-            if (Main.main == null) {
-                new MainApplication().initialize();
-            }
-            if (Main.map == null) {
-                Main.main.createMapFrame(null, null);
-            } else {
-                for (Layer l: Main.getLayerManager().getLayers()) {
-                    Main.getLayerManager().removeLayer(l);
+            GuiHelper.runInEDTAndWaitWithException(new Runnable() {
+                @Override
+                public void run() {
+                    setupGUI();
                 }
+            });
+        }
+    }
+
+    private void setupGUI() {
+        if (Main.toolbar == null) {
+            Main.toolbar = new ToolbarPreferences();
+        }
+        if (Main.main == null) {
+            new MainApplication().initialize();
+        }
+        if (Main.map == null) {
+            Main.main.createMapFrame(null, null);
+        } else {
+            for (Layer l: Main.getLayerManager().getLayers()) {
+                Main.getLayerManager().removeLayer(l);
             }
         }
