bug 18329
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
index 8d46f64..37f5786 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
@@ -183,13 +183,8 @@
 	 * Called at startup by the java debug ui plug-in

 	 */

 	public void startup() throws CoreException {

-		if (DebugPlugin.getDefault().getLaunchManager().getLaunches().length != 0) {

-			// If there are any pre-existing launches, start up fully.

-			activate();

-		} else {

-			// Else lazy initialization will occur on the first launch

-			DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);

-		}

+		// lazy initialization will occur on the first launch

+		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);

 	}

 	

 	/**

@@ -748,13 +743,14 @@
 	 * @see ILaunchListener#launchAdded(ILaunch)

 	 */

 	public void launchAdded(ILaunch launch) {

-		activate();

-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);

+		launchChanged(launch);

 	}

 	/**

 	 * @see ILaunchListener#launchChanged(ILaunch)

 	 */

 	public void launchChanged(ILaunch launch) {

+		activate();

+		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);		

 	}

 

 	/**