diff --git a/ipojo/runtime/core-it/ipojo-core-logger-test/src/test/java/org/apache/felix/ipojo/runtime/core/TestErrorHandler.java b/ipojo/runtime/core-it/ipojo-core-logger-test/src/test/java/org/apache/felix/ipojo/runtime/core/TestErrorHandler.java
index b623a0b..c677323 100644
--- a/ipojo/runtime/core-it/ipojo-core-logger-test/src/test/java/org/apache/felix/ipojo/runtime/core/TestErrorHandler.java
+++ b/ipojo/runtime/core-it/ipojo-core-logger-test/src/test/java/org/apache/felix/ipojo/runtime/core/TestErrorHandler.java
@@ -21,6 +21,7 @@
 
 import org.apache.felix.ipojo.ComponentInstance;
 import org.apache.felix.ipojo.ErrorHandler;
+import org.apache.felix.ipojo.Factory;
 import org.apache.felix.ipojo.runtime.core.components.MyComponent;
 import org.apache.felix.ipojo.runtime.core.components.MyErroneousComponent;
 import org.apache.felix.ipojo.runtime.core.services.MyService;
@@ -41,6 +42,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.fail;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
 import static org.ops4j.pax.exam.CoreOptions.streamBundle;
 import static org.ops4j.pax.exam.MavenUtils.asInProject;
@@ -95,13 +98,15 @@
         MyErrorHandler handler = new MyErrorHandler();
         bc.registerService(ErrorHandler.class.getName(), handler, null);
 
+        Factory factory = ipojoHelper.getFactory("org.apache.felix.ipojo.runtime.core.components.MyErroneousComponent");
+        assertNotNull(factory);
         try {
-            ipojoHelper.createComponentInstance("org.apache.felix.ipojo.runtime.core.components.MyErroneousComponent");
+            factory.createComponentInstance(null);
+            fail("Error expected");
         } catch (Exception e) {
-            System.out.println(e);
+            // Error expected.
         }
 
-
         System.out.println(handler.m_errors);
 
         Assert.assertFalse(handler.m_errors.isEmpty());
