diff --git a/bundles/org.eclipse.e4.core.deeplink.launchproxy/src/org/eclipse/e4/core/deeplink/launchproxy/Application.java b/bundles/org.eclipse.e4.core.deeplink.launchproxy/src/org/eclipse/e4/core/deeplink/launchproxy/Application.java
index 7daa5ff..0a9dcb3 100644
--- a/bundles/org.eclipse.e4.core.deeplink.launchproxy/src/org/eclipse/e4/core/deeplink/launchproxy/Application.java
+++ b/bundles/org.eclipse.e4.core.deeplink.launchproxy/src/org/eclipse/e4/core/deeplink/launchproxy/Application.java
@@ -37,15 +37,16 @@
 	public Object start(IApplicationContext context) throws Exception {
 		String[] args = (String[]) context.getArguments().get(COMMANDLINE_KEY);
 		ILog systemLog = Platform.getLog(Platform.getBundle(Activator.PLUGIN_ID));
-		DeepLinkManager installationManager = new DeepLinkManager(false, new TeeLogger(systemLog));
+		TeeLogger logger = new TeeLogger(systemLog);
+		DeepLinkManager installationManager = new DeepLinkManager(false, logger);
 		try {
-			DeepLinkResult result = installationManager.processDeepLink(getDeepLinkURL(args, stubLogger));
+			DeepLinkResult result = installationManager.processDeepLink(getDeepLinkURL(args, logger));
 			for (Object key : result.outputData.keySet()) {
 				Object value = result.outputData.get(key);
 				System.out.println(key + " ==> " + value);
 			}
 		} catch (Exception e) {
-			stubLogger.log(new Status(Status.ERROR, Activator.PLUGIN_ID, "Unhandled exception: " + e.getMessage(), e));
+			logger.log(new Status(Status.ERROR, Activator.PLUGIN_ID, "Unhandled exception: " + e.getMessage(), e));
 		}
 		return IApplication.EXIT_OK;
 	}
