diff --git a/framework/src/main/java/org/apache/felix/framework/Felix.java b/framework/src/main/java/org/apache/felix/framework/Felix.java
index 66ef74a..6bd3b80 100644
--- a/framework/src/main/java/org/apache/felix/framework/Felix.java
+++ b/framework/src/main/java/org/apache/felix/framework/Felix.java
@@ -2317,6 +2317,8 @@
                     archive.getRevisionCount() - 1).getManifestHeader())));
 
                 verifyExecutionEnvironment(bundle);
+                
+                checkFragment(bundle);
 
                 addSecurity(bundle);
 
@@ -2452,6 +2454,21 @@
     }
 
     /**
+     * Checks whether bundle is a fragment bundle, and if so, logs a warning as fragment bundles
+     * are not yet supported by Felix.
+     * @param bundle The bundle to verify
+    **/
+    private void checkFragment(FelixBundle bundle)
+    {
+        String fragmentHost = (String) bundle.getInfo().getCurrentHeader().get(Constants.FRAGMENT_HOST);
+        if (fragmentHost != null)
+        {
+            m_logger.log(Logger.LOG_WARNING, "Bundle " + bundle.getBundleId()
+                + " is a fragment bundle. Fragment bundles are not yet supported!");
+        }
+    }
+
+    /**
      * Check the required bundle execution environment against the framework provided
      * exectution environment.
      * @param bundleEnvironment The required execution environment string
