diff --git a/tests/org.eclipse.e4.core.commands.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.e4.core.commands.tests/META-INF/MANIFEST.MF
index 7b0cade..f024a88 100644
--- a/tests/org.eclipse.e4.core.commands.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.e4.core.commands.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Core commands Tests (Incubation)
 Bundle-SymbolicName: org.eclipse.e4.core.commands.tests;singleton:=true
-Bundle-Version: 0.11.100.qualifier
+Bundle-Version: 0.12.100.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.core.commands,
  org.eclipse.e4.core.commands,
diff --git a/tests/org.eclipse.e4.core.commands.tests/pom.xml b/tests/org.eclipse.e4.core.commands.tests/pom.xml
index 273d952..0188195 100644
--- a/tests/org.eclipse.e4.core.commands.tests/pom.xml
+++ b/tests/org.eclipse.e4.core.commands.tests/pom.xml
@@ -18,7 +18,7 @@
 	</parent>
 	<groupId>org.eclipse.e4</groupId>
 	<artifactId>org.eclipse.e4.core.commands.tests</artifactId>
-	<version>0.11.100-SNAPSHOT</version>
+	<version>0.12.100-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 </project>
diff --git a/tests/org.eclipse.e4.core.commands.tests/src/org/eclipse/e4/core/commands/tests/TestActivator.java b/tests/org.eclipse.e4.core.commands.tests/src/org/eclipse/e4/core/commands/tests/TestActivator.java
index ffa5e14..ae48b6f 100644
--- a/tests/org.eclipse.e4.core.commands.tests/src/org/eclipse/e4/core/commands/tests/TestActivator.java
+++ b/tests/org.eclipse.e4.core.commands.tests/src/org/eclipse/e4/core/commands/tests/TestActivator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2013, 2016 IBM Corporation and others.
+ * Copyright (c) 2013, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -16,8 +16,6 @@
 import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
 
 public class TestActivator implements BundleActivator {
 
@@ -34,37 +32,6 @@
 		plugin = this;
 		serviceContext = EclipseContextFactory.getServiceContext(context);
 		appContext = serviceContext.createChild();
-		addLogService(appContext);
-	}
-
-	private void addLogService(IEclipseContext context) {
-		context.set(LogService.class, new LogService() {
-
-			@Override
-			public void log(int level, String message) {
-				System.out.println(level + ": " + message);
-			}
-
-			@Override
-			public void log(int level, String message, Throwable exception) {
-				System.out.println(level + ": " + message);
-				if (exception != null) {
-					exception.printStackTrace();
-				}
-			}
-
-			@SuppressWarnings("rawtypes")
-			@Override
-			public void log(ServiceReference sr, int level, String message) {
-				// Nothing
-			}
-
-			@SuppressWarnings("rawtypes")
-			@Override
-			public void log(ServiceReference sr, int level, String message, Throwable exception) {
-				// Nothing
-			}
-		});
 	}
 
 	@Override
