diff --git a/deploymentadmin/itest/pom.xml b/deploymentadmin/itest/pom.xml
index f1f3c7d..a24b1b1 100644
--- a/deploymentadmin/itest/pom.xml
+++ b/deploymentadmin/itest/pom.xml
@@ -32,7 +32,7 @@
 		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.framework</artifactId>
-			<version>4.2.1</version>
+			<version>4.4.1</version>
 			<scope>test</scope>
 		</dependency>
 
diff --git a/deploymentadmin/itest/src/test/java/org/apache/felix/deploymentadmin/itest/DeploymentAdminTest.java b/deploymentadmin/itest/src/test/java/org/apache/felix/deploymentadmin/itest/DeploymentAdminTest.java
index 350d299..2b02a2e 100644
--- a/deploymentadmin/itest/src/test/java/org/apache/felix/deploymentadmin/itest/DeploymentAdminTest.java
+++ b/deploymentadmin/itest/src/test/java/org/apache/felix/deploymentadmin/itest/DeploymentAdminTest.java
@@ -21,15 +21,12 @@
 import static org.osgi.service.deploymentadmin.DeploymentException.CODE_BUNDLE_NAME_ERROR;
 import static org.osgi.service.deploymentadmin.DeploymentException.CODE_OTHER_ERROR;
 
-import java.util.Dictionary;
-import java.util.Hashtable;
 
 import org.apache.felix.deploymentadmin.itest.util.DeploymentPackageBuilder;
 import org.apache.felix.deploymentadmin.itest.util.DeploymentPackageBuilder.JarManifestManipulatingFilter;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.junit.PaxExam;
-import org.osgi.service.cm.Configuration;
 import org.osgi.service.deploymentadmin.DeploymentAdmin;
 import org.osgi.service.deploymentadmin.DeploymentException;
 import org.osgi.service.deploymentadmin.DeploymentPackage;
@@ -47,14 +44,8 @@
     @Test
     public void testUpdateConfigurationOk() throws Exception
     {
-        Dictionary props = new Hashtable();
-        props.put("stopUnaffectedBundle", Boolean.FALSE);
-        props.put("allowForeignCustomizers", Boolean.FALSE);
-
-        Configuration config = m_configAdmin.getConfiguration("org.apache.felix.deploymentadmin", null);
-        config.update(props);
-
-        Thread.sleep(100);
+        System.setProperty("org.apache.felix.deploymentadmin.stopUnaffectedBundles", "false");
+        System.setProperty("org.apache.felix.deploymentadmin.allowForeignCustomizers", "false");
 
         // This test case will only work if stopUnaffectedBundle is set to 'false'...
         try
@@ -86,7 +77,8 @@
         }
         finally
         {
-            config.delete();
+            System.clearProperty("org.apache.felix.deploymentadmin.stopUnaffectedBundles");
+            System.clearProperty("org.apache.felix.deploymentadmin.allowForeignCustomizers");
         }
     }
 
