Index: trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 1033)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 1034)
@@ -93,65 +93,4 @@
 			args.put(key, v);
 		}
-
-		// Only show the splash screen if we don't print the help and exit
-		SplashScreen splash;
-		if (!argList.contains("--help") && !argList.contains("-?") && !argList.contains("-h")) {
-			splash = new SplashScreen();
-		} else {
-			splash = null;
-		}
-
-		splash.setStatus(tr("Reading preferences"));
-		// get the preferences.
-		final File prefDir = new File(Main.pref.getPreferencesDir());
-		// check if preferences directory has moved (TODO: Update code. Remove this after some time)
-		File oldPrefDir = new File(System.getProperty("user.home"), ".josm");
-		if (!prefDir.isDirectory() && oldPrefDir.isDirectory()) {
-			if (oldPrefDir.renameTo(prefDir)) {
-				// do not translate this
-				JOptionPane.showMessageDialog(null, "The preference directory has been moved to "+prefDir);
-			} else {
-				JOptionPane.showMessageDialog(null, "The preference directory location has changed. Please move "+oldPrefDir+" to "+prefDir);
-			}
-		}
-
-		if (prefDir.exists() && !prefDir.isDirectory()) {
-			JOptionPane.showMessageDialog(null, "Cannot open preferences directory: "+Main.pref.getPreferencesDir());
-			return;
-		}
-		if (!prefDir.exists())
-			prefDir.mkdirs();
-
-		if (!new File(Main.pref.getPreferencesDir()+"preferences").exists()) {
-			Main.pref.resetToDefault();
-		}
-
-		try {
-			if (args.containsKey("reset-preferences")) {
-				Main.pref.resetToDefault();
-			} else {
-				Main.pref.load();
-			}
-		} catch (final IOException e1) {
-			e1.printStackTrace();
-			String backup = Main.pref.getPreferencesDir() + "preferences.bak";
-			JOptionPane.showMessageDialog(null, "Preferences file had errors.  Making backup of old one to " + backup);
-			new File(Main.pref.getPreferencesDir() + "preferences").renameTo(new File(backup));
-			Main.pref.save();
-		}
-		String language = null;
-		if(args.containsKey("language"))
-			language = (String)(args.get("language").toArray()[0]);
-
-		splash.setStatus(tr("Activating updated plugins"));
-		if (!PluginDownloader.moveUpdatedPlugins()) {
-			JOptionPane.showMessageDialog(null,
-			        tr("Activating the updated plugins failed. Check if JOSM has the permission to overwrite the existing ones."),
-			        tr("Plugins"), JOptionPane.ERROR_MESSAGE);
-		}
-
-		// load the early plugins
-		splash.setStatus(tr("Loading early plugins"));
-		Main.loadPlugins(true, language);
 
 		if (argList.contains("--help") || argList.contains("-?") || argList.contains("-h")) {
@@ -183,4 +122,58 @@
 		}
 
+		SplashScreen splash = new SplashScreen();
+		splash.setStatus(tr("Reading preferences"));
+		// get the preferences.
+		final File prefDir = new File(Main.pref.getPreferencesDir());
+		// check if preferences directory has moved (TODO: Update code. Remove this after some time)
+		File oldPrefDir = new File(System.getProperty("user.home"), ".josm");
+		if (!prefDir.isDirectory() && oldPrefDir.isDirectory()) {
+			if (oldPrefDir.renameTo(prefDir)) {
+				// do not translate this
+				JOptionPane.showMessageDialog(null, "The preference directory has been moved to "+prefDir);
+			} else {
+				JOptionPane.showMessageDialog(null, "The preference directory location has changed. Please move "+oldPrefDir+" to "+prefDir);
+			}
+		}
+
+		if (prefDir.exists() && !prefDir.isDirectory()) {
+			JOptionPane.showMessageDialog(null, "Cannot open preferences directory: "+Main.pref.getPreferencesDir());
+			return;
+		}
+		if (!prefDir.exists())
+			prefDir.mkdirs();
+
+		if (!new File(Main.pref.getPreferencesDir()+"preferences").exists()) {
+			Main.pref.resetToDefault();
+		}
+
+		try {
+			if (args.containsKey("reset-preferences")) {
+				Main.pref.resetToDefault();
+			} else {
+				Main.pref.load();
+			}
+		} catch (final IOException e1) {
+			e1.printStackTrace();
+			String backup = Main.pref.getPreferencesDir() + "preferences.bak";
+			JOptionPane.showMessageDialog(null, "Preferences file had errors.  Making backup of old one to " + backup);
+			new File(Main.pref.getPreferencesDir() + "preferences").renameTo(new File(backup));
+			Main.pref.save();
+		}
+		String language = null;
+		if(args.containsKey("language"))
+			language = (String)(args.get("language").toArray()[0]);
+
+		splash.setStatus(tr("Activating updated plugins"));
+		if (!PluginDownloader.moveUpdatedPlugins()) {
+			JOptionPane.showMessageDialog(null,
+			        tr("Activating the updated plugins failed. Check if JOSM has the permission to overwrite the existing ones."),
+			        tr("Plugins"), JOptionPane.ERROR_MESSAGE);
+		}
+
+		// load the early plugins
+		splash.setStatus(tr("Loading early plugins"));
+		Main.loadPlugins(true, language);
+
 		splash.setStatus(tr("Setting defaults"));
 		preConstructorInit(args);
