diff --git a/configadmin/src/test/java/org/apache/felix/cm/integration/ConfigurationBaseTest.java b/configadmin/src/test/java/org/apache/felix/cm/integration/ConfigurationBaseTest.java
index 8e1f19b..137ab48 100644
--- a/configadmin/src/test/java/org/apache/felix/cm/integration/ConfigurationBaseTest.java
+++ b/configadmin/src/test/java/org/apache/felix/cm/integration/ConfigurationBaseTest.java
@@ -861,6 +861,10 @@
         TestCase.assertNotNull( cf );
         final String pid = cf.getPid();
 
+        // check factory configuration setup
+        TestCase.assertNotNull( "Configuration must have PID", pid );
+        TestCase.assertEquals( "Factory configuration must have requested factory PID", factoryPid, cf.getFactoryPid() );
+
         try
         {
             bundle = installBundle( factoryPid, ManagedServiceFactoryTestActivator.class );
@@ -870,9 +874,6 @@
             final ManagedServiceFactoryTestActivator tester = ManagedServiceFactoryTestActivator.INSTANCE;
             TestCase.assertEquals( "MSF must not be updated with new configuration", 0, tester.numManagedServiceFactoryUpdatedCalls );
 
-            TestCase.assertNotNull( "Configuration must have PID", pid );
-            TestCase.assertEquals( "Factory configuration must have requested factory PID", factoryPid, cf.getFactoryPid() );
-
             // assert getConfiguration returns the same configurtion
             final Configuration c1 = getConfigurationAdmin().getConfiguration( pid, null );
             TestCase.assertEquals( "getConfiguration must retrieve required PID", pid, c1.getPid() );
