diff --git a/tools/maven2/felix-archetype/src/main/resources/archetype-resources/pom.xml b/tools/maven2/felix-archetype/src/main/resources/archetype-resources/pom.xml
index e9a8ddd..752899e 100644
--- a/tools/maven2/felix-archetype/src/main/resources/archetype-resources/pom.xml
+++ b/tools/maven2/felix-archetype/src/main/resources/archetype-resources/pom.xml
@@ -60,9 +60,6 @@
             <bundleName>Simple Bundle</bundleName>
             <bundleActivator>${groupId}.Activator</bundleActivator>
             <bundleVendor>Apache Software Foundation</bundleVendor>
-            <importBundle>
-              ${groupId}
-            </importBundle>
           </osgiManifest>
         </configuration>
       </plugin>
diff --git a/tools/maven2/felix-archetype/src/main/resources/archetype-resources/src/main/java/Activator.java b/tools/maven2/felix-archetype/src/main/resources/archetype-resources/src/main/java/Activator.java
index f8b93c1..558c419 100644
--- a/tools/maven2/felix-archetype/src/main/resources/archetype-resources/src/main/java/Activator.java
+++ b/tools/maven2/felix-archetype/src/main/resources/archetype-resources/src/main/java/Activator.java
@@ -42,7 +42,7 @@
      */
     public void start( BundleContext bundleContext ) throws Exception 
     {
-        System.out.println( "Starting to listen for service events." );
+        System.out.println( "SimpleBundle: Starting to listen for service events." );
         bundleContext.addServiceListener( this );
     }
 
@@ -59,7 +59,7 @@
     public void stop( BundleContext bundleContext ) throws Exception 
     {
         bundleContext.removeServiceListener( this );
-        System.out.println( "Stopped listening for service events." );
+        System.out.println( "SimpleBundle: Stopped listening for service events." );
 
         // Note: It is not required that we remove the listener here, since
         // the framework will do it automatically anyway.
@@ -75,14 +75,14 @@
     public void serviceChanged( ServiceEvent event ) 
     {
         String[] objectClass = ( String[] ) event.getServiceReference().getProperty( "objectClass" );
-        
+
         switch( event.getType() )
         {
             case( ServiceEvent.REGISTERED ):
                 System.out.println( "SimpleBundle: Service of type " + objectClass[0] + " registered." );
                 break;
-            case( ServiceEvent.UNREGISTERED ):
-                System.out.println( "SimpleBundle: Service of type " + objectClass[0] + " unregistered." );
+            case( ServiceEvent.UNREGISTERING ):
+                System.out.println( "SimpleBundle: Service of type " + objectClass[0] + " unregistering." );
                 break;
             case( ServiceEvent.MODIFIED ):
                 System.out.println( "SimpleBundle: Service of type " + objectClass[0] + " modified." );
diff --git a/tools/maven2/osgi-archetype/src/main/resources/archetype-resources/pom.xml b/tools/maven2/osgi-archetype/src/main/resources/archetype-resources/pom.xml
index 3049bd2..5e4df59 100644
--- a/tools/maven2/osgi-archetype/src/main/resources/archetype-resources/pom.xml
+++ b/tools/maven2/osgi-archetype/src/main/resources/archetype-resources/pom.xml
@@ -47,9 +47,6 @@
             <bundleName>Simple Bundle</bundleName>
             <bundleActivator>${groupId}.Activator</bundleActivator>
             <bundleVendor>Apache Software Foundation</bundleVendor>
-            <importPackage>
-              ${groupId}
-            </importPackage>
           </osgiManifest>
         </configuration>
       </plugin>
