diff --git a/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-creation-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java b/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-creation-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
index 3a8a012..089cd1d 100644
--- a/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-creation-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
+++ b/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-creation-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
@@ -125,6 +125,7 @@
 
     @Before
     public void commonSetUp() {
+        grace(500);
         osgiHelper = new OSGiHelper(bc);
         ipojoHelper = new IPOJOHelper(bc);
 
@@ -143,6 +144,15 @@
     public void commonTearDown() {
         ipojoHelper.dispose();
         osgiHelper.dispose();
+        grace(500);
+    }
+
+    public static void grace(int time) {
+        try {
+            Thread.sleep(time);
+        } catch (InterruptedException e) {
+            // Ignore it.
+        }
     }
 
     public CompositeOption ipojoBundles() {
diff --git a/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-manipulation-metadata-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java b/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-manipulation-metadata-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
index aaf4c6b..953346f 100644
--- a/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-manipulation-metadata-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
+++ b/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-manipulation-metadata-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
@@ -126,6 +126,7 @@
 
     @Before
     public void commonSetUp() {
+        grace(500);
         osgiHelper = new OSGiHelper(bc);
         ipojoHelper = new IPOJOHelper(bc);
 
@@ -146,6 +147,7 @@
     public void commonTearDown() {
         ipojoHelper.dispose();
         osgiHelper.dispose();
+        grace(500);
     }
 
     public CompositeOption ipojoBundles() {
@@ -157,6 +159,14 @@
         );
     }
 
+    public static void grace(int time) {
+        try {
+            Thread.sleep(time);
+        } catch (InterruptedException e) {
+            // Ignore it.
+        }
+    }
+
     public Option testedBundle() throws MalformedURLException {
         File out = new File("target/tested/bundle.jar");
         if (out.exists()) {
diff --git a/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-manipulation-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java b/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-manipulation-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
index 3a8a012..b089329 100644
--- a/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-manipulation-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
+++ b/ipojo/manipulator/manipulator-it/src/it/ipojo-manipulator-manipulation-test/src/test/java/org/apache/felix/ipojo/runtime/core/Common.java
@@ -143,6 +143,15 @@
     public void commonTearDown() {
         ipojoHelper.dispose();
         osgiHelper.dispose();
+        grace(500);
+    }
+
+    public static void grace(int time) {
+        try {
+            Thread.sleep(time);
+        } catch (InterruptedException e) {
+            // Ignore it.
+        }
     }
 
     public CompositeOption ipojoBundles() {
