diff --git a/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/Common.java b/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/Common.java
index 161ea5e..91c45fd 100644
--- a/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/Common.java
+++ b/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/Common.java
@@ -297,6 +297,11 @@
     }
 
     public boolean isEquinox() {
-        return FrameworkHelper.isEquinox(context)  || context.toString().contains("eclipse");
+        if (context != null) {
+            return FrameworkHelper.isEquinox(context)  || context.toString().contains("eclipse");
+        } else {
+            String pf = System.getProperty("pax.exam.framework");
+            return pf != null  && pf.equalsIgnoreCase("equinox");
+        }
     }
 }
diff --git a/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/TestBeingConsumedByEquinoxSCR1_4_100.java b/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/TestBeingConsumedByEquinoxSCR1_4_100.java
index 2f7afa5..ec5fea0 100644
--- a/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/TestBeingConsumedByEquinoxSCR1_4_100.java
+++ b/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/TestBeingConsumedByEquinoxSCR1_4_100.java
@@ -43,6 +43,10 @@
 
     @Override
     public Option[] bundles() {
+        // We must not deploy the Equinox DS on Felix and KF
+        if (! isEquinox()) {
+            return new Option[0];
+        }
         return new Option[] {
                 bundle(DS_URL),
                 bundle(UTILS_URL),
diff --git a/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/TestConsumingProviderUsingEquinoxSCR1_4_100.java b/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/TestConsumingProviderUsingEquinoxSCR1_4_100.java
index 63f3c98..f6bcf00 100644
--- a/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/TestConsumingProviderUsingEquinoxSCR1_4_100.java
+++ b/ipojo/runtime/core-it/ipojo-compatibility-test/src/test/java/org/apache/felix/ipojo/test/compatibility/TestConsumingProviderUsingEquinoxSCR1_4_100.java
@@ -44,6 +44,9 @@
 
     @Override
     public Option[] bundles() {
+        if (! isEquinox()) {
+            return new Option[0];
+        }
         return new Option[] {
                 bundle(DS_URL),
                 bundle(UTILS_URL),
