diff --git a/http/bundle/DEPENDENCIES b/http/bundle/DEPENDENCIES
index 4c1aef6..8efdfd4 100644
--- a/http/bundle/DEPENDENCIES
+++ b/http/bundle/DEPENDENCIES
@@ -7,8 +7,12 @@
 
 I. Included Third-Party Software
 
+This product includes software developed at
+Eclipse (http://eclipse.org)
+Licensed under the Apache License 2.0.
+
 This product includes software developed by
-Mortbay (http://mortbay.org)
+the cometd project (http://cometd.org)
 Licensed under the Apache License 2.0.
 
 This product includes software developed at
diff --git a/http/bundle/NOTICE b/http/bundle/NOTICE
index 7140e41..b94c364 100644
--- a/http/bundle/NOTICE
+++ b/http/bundle/NOTICE
@@ -5,8 +5,12 @@
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
+This product includes software developed at
+Eclipse (http://eclipse.org)
+Licensed under the Apache License 2.0.
+
 This product includes software developed by
-Mortbay (http://mortbay.org)
+the cometd project (http://cometd.org)
 Licensed under the Apache License 2.0.
 
 This product includes software developed at
diff --git a/http/bundle/pom.xml b/http/bundle/pom.xml
index e02fbca..896fe18 100644
--- a/http/bundle/pom.xml
+++ b/http/bundle/pom.xml
@@ -42,9 +42,12 @@
                             org.apache.felix.http.bundle.internal.CombinedActivator
                         </Bundle-Activator>
                         <Export-Package>
-                            org.apache.felix.http.api;version=2.0.4;-split-package:=merge-first,
+                            org.apache.felix.http.api;version=${project.version};-split-package:=merge-first,
+                            org.apache.felix.http.cometd;version=${project.version};-split-package:=merge-first,
                             org.osgi.service.http;version=1.2.0;-split-package:=merge-first,
-                            org.cometd;version=1.0.beta7,
+                            org.cometd.bayeux;version=2.4.2;-split-package:=merge-first,
+                            org.cometd.bayeux.client;version=2.4.2;-split-package:=merge-first,
+                            org.cometd.bayeux.server;version=2.4.2;-split-package:=merge-first,
                             javax.servlet.*;version=2.5;-split-package:=merge-first
                         </Export-Package>
                         <Private-Package>
@@ -54,11 +57,15 @@
                             org.apache.felix.http.cometd.*,
                             org.apache.felix.http.jetty.*,
                             org.apache.felix.http.whiteboard.*,
-                            org.mortbay.*;-split-package:=merge-first
+                            org.eclipse.jetty.*;-split-package:=merge-first,
+                            org.cometd.server.*;-split-package:=merge-first,
+                            org.cometd.common.*;-split-package:=merge-first
                         </Private-Package>
                         <Import-Package>
                             javax.servlet.*,
-                            org.cometd,
+                            org.cometd.bayeux,
+                            org.cometd.bayeux.client,
+                            org.cometd.bayeux.server,
                             *;resolution:=optional
                         </Import-Package>
                     </instructions>
