diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
index 180d898..40b7dee 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
@@ -40,6 +40,7 @@
 	private static String keyringFile = null;
 	private static String password = "";
 	private static boolean inDevelopmentMode = false;
+	private static boolean splashDown = false;
 
 	// default plugin data
 	private static final String PI_XML = "org.apache.xerces";
@@ -203,6 +204,25 @@
 /**
  * @see Platform
  */
+public static void endSplash() {
+	if (splashDown) 
+		return;
+	String[] args = BootLoader.getCommandLineArgs();
+	String splash = null;
+	for (int i = 0; i < args.length; i++)
+        if (args[i].equalsIgnoreCase("-endsplash") && (i + 1) < args.length)
+            splash = args[i + 1];
+	if (splash != null)
+	try {
+		splashDown = true;
+		Runtime.getRuntime().exec(splash);
+	} catch (Exception e) {
+	}
+}
+
+/**
+ * @see Platform
+ */
 public static void flushAuthorizationInfo(URL serverUrl, String realm, String authScheme) throws CoreException {
 	keyring.flushAuthorizationInfo(serverUrl, realm, authScheme);
 	keyring.save();
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
index 1cab3f1..7c1742c 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
@@ -187,6 +187,14 @@
 public static URL asLocalURL(URL url) throws IOException {
 	return InternalPlatform.asLocalURL(url);
 }
+
+/**
+ * Takes down the splash screen if one was put up.
+ */
+public static void endSplash() {
+	InternalPlatform.endSplash();
+}
+
 /**
  * Removes the authorization information for the specified protection
  * space and given authorization scheme. The protection space is defined
