Index: src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- src/org/openstreetmap/josm/gui/MainApplication.java	(revision 5704)
+++ src/org/openstreetmap/josm/gui/MainApplication.java	(working copy)
@@ -279,7 +279,7 @@
         }
         Main.pref.updateSystemProperties();
 
-        JFrame mainFrame = new JFrame(tr("Java OpenStreetMap Editor"));
+        final JFrame mainFrame = new JFrame(tr("Java OpenStreetMap Editor"));
         Main.parent = mainFrame;
 
         if (args.containsKey(Option.LOAD_PREFERENCES)) {
@@ -313,7 +313,7 @@
             System.exit(0);
         }
 
-        SplashScreen splash = new SplashScreen();
+        final SplashScreen splash = new SplashScreen();
         final ProgressMonitor monitor = splash.getProgressMonitor();
         monitor.beginTask(tr("Initializing"));
         splash.setVisible(Main.pref.getBoolean("draw.splashscreen", true));
@@ -347,9 +347,15 @@
         monitor.indeterminateSubTask(tr("Loading plugins"));
         PluginHandler.loadLatePlugins(splash,pluginsToLoad,  monitor.createSubTaskMonitor(1, false));
         toolbar.refreshToolbarControl();
-        splash.setVisible(false);
-        splash.dispose();
-        mainFrame.setVisible(true);
+
+        java.awt.EventQueue.invokeLater(new Runnable() {
+            public void run() {
+                splash.setVisible(false);
+                splash.dispose();
+                mainFrame.setVisible(true);
+            }
+        });
+
         Main.MasterWindowListener.setup();
 
         boolean maximized = Boolean.parseBoolean(Main.pref.get("gui.maximized"));
