diff --git a/webconsole/pom.xml b/webconsole/pom.xml
index bf4e1cb..d13838a 100644
--- a/webconsole/pom.xml
+++ b/webconsole/pom.xml
@@ -119,29 +119,13 @@
                             org.apache.felix.bundlerepository,
                             org.osgi.service.obr
                         </DynamicImport-Package>
+                        <Include-Resource>
+                            {maven-resources},META-INF=src/main/bare-resources
+                        </Include-Resource>
                         <Embed-Dependency>
-                            <!-- Import/Export-Package parsing -->
                             org.apache.felix.utils;inline=org/apache/felix/utils/manifest/**,
-                            org.apache.felix.framework;inline=org/apache/felix/framework/util/VersionRange**,
-                            
-                            <!-- ServiceTracker -->
-                            org.osgi.compendium;
-                                inline=org/osgi/util/tracker/*,
-                                
-                            <!-- Required for JSON data transfer -->
-                            json;inline=org/json/*,
-                            
-                            <!-- File Upload functionality -->
-                            commons-fileupload;inline=org/apache/commons/fileupload/*|
-                                org/apache/commons/fileupload/disk/*|
-                                org/apache/commons/fileupload/servlet/*,
-    
-                            <!-- Required by FileUpload and Util -->
-                            commons-io;inline=org/apache/commons/io/*|
-                                org/apache/commons/io/filefilter/*| 
-                                org/apache/commons/io/output/* 
+                            org.apache.felix.framework;inline=org/apache/felix/framework/util/VersionRange**
                         </Embed-Dependency>
-                        
                         <_removeheaders>
                             Embed-Dependency,Private-Package,Include-Resource
                         </_removeheaders>
@@ -151,60 +135,6 @@
         </plugins>
     </build>
 
-    <profiles>
-        <!--
-            The "bare-bundle" profile builds a bundle not including certain
-            3rd party libraries and classes, namely: Commons IO, Commons
-            FileUpload, JSON, and the OSGi ServiceTracker. These are imported
-            by this bundle. The classes from the bundlerepository bundle are
-            still included because they are not exported from the
-            bundlerepository bundle and thus cannot be imported.
-            The "bare-bundle" can be used if the non-embedded libraries are
-            provided by the framework in which the web console is installed.
-        -->
-        <profile>
-            <id>bare-bundle</id>
-            <activation><activeByDefault>true</activeByDefault></activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>maven-bundle-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>bare-bundle</id>
-                                <goals>
-                                    <goal>bundle</goal>
-                                </goals>
-                                <configuration>
-                                    <classifier>bare</classifier>
-                                    <instructions>
-                                        <Bundle-Name>
-                                            ${project.name} (Bare)
-                                        </Bundle-Name>
-                                        <Bundle-SymbolicName>
-                                            ${project.artifactId}.bare
-                                        </Bundle-SymbolicName>
-                                        <Include-Resource>
-                                            {maven-resources},META-INF=src/main/bare-resources
-                                        </Include-Resource>
-                                        <Embed-Dependency>
-                                            org.apache.felix.utils;inline=org/apache/felix/utils/manifest/**,
-                                            org.apache.felix.framework;inline=org/apache/felix/framework/util/VersionRange**
-                                        </Embed-Dependency>
-                                        <_removeheaders>
-                                            Embed-Dependency,Private-Package,Include-Resource
-                                        </_removeheaders>
-                                    </instructions>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-    
     <dependencies>
         <dependency>
             <groupId>javax.servlet</groupId>
@@ -246,17 +176,8 @@
             <groupId>org.json</groupId>
             <artifactId>json</artifactId>
             <version>20070829</version>
-            <scope>compile</scope>
-            <optional>true</optional>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr</artifactId>
-            <version>1.6.0</version>
             <scope>provided</scope>
         </dependency>
-
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.shell</artifactId>
