diff --git a/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/FeaturesRegistry.java b/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/FeaturesRegistry.java
index fcf8689..b67c98c 100644
--- a/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/FeaturesRegistry.java
+++ b/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/FeaturesRegistry.java
@@ -21,6 +21,9 @@
  * Tracks features and repositories.
  */
 public interface FeaturesRegistry {
+
+    void setFeaturesService(FeaturesService service);
+
     void register(Feature feature);
 
     void unregister(Feature feature);
diff --git a/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/internal/FeaturesServiceImpl.java b/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/internal/FeaturesServiceImpl.java
index 59446b6..41facc4 100644
--- a/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/internal/FeaturesServiceImpl.java
+++ b/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/internal/FeaturesServiceImpl.java
@@ -105,6 +105,7 @@
 
     public void setFeaturesServiceRegistry(FeaturesRegistry featuresRegistry) {
         this.featuresRegistry = featuresRegistry;
+        this.featuresRegistry.setFeaturesService(this);
     }
 
     public void setUrls(String uris) throws URISyntaxException {
diff --git a/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/management/ManagedFeaturesRegistry.java b/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/management/ManagedFeaturesRegistry.java
index 90624b7..d62eed9 100644
--- a/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/management/ManagedFeaturesRegistry.java
+++ b/karaf/gshell/gshell-features/src/main/java/org/apache/felix/karaf/gshell/features/management/ManagedFeaturesRegistry.java
@@ -48,6 +48,7 @@
     private Map<String, ManagedRepository> repositories;
     private boolean mbeanServerInitialized;
     private FeaturesService featuresService;
+    private MBeanServer mbeanServer;
 
     @ManagedOperation
     public void installFeature(String name) throws Exception {
@@ -182,12 +183,19 @@
         if (namingStrategy == null) {
             throw new IllegalArgumentException("namingStrategy must not be null");
         }
+        if (mbeanServer != null) {
+            registerMBeanServer(mbeanServer, null);
+        }
     }
 
     public void registerMBeanServer(MBeanServer mbeanServer, Map props ) throws Exception {
         if (mbeanServer != null) {
-            mbeanServerInitialized = true;
+            this.mbeanServer = mbeanServer;
         }
+        if (managementAgent == null) {
+            return;
+        }
+        mbeanServerInitialized = true;
 
         managementAgent.register(this, namingStrategy.getObjectName(this));
 
diff --git a/karaf/gshell/gshell-features/src/main/resources/META-INF/spring/gshell-features.xml b/karaf/gshell/gshell-features/src/main/resources/META-INF/spring/gshell-features.xml
index 22a4b95..d1b851d 100644
--- a/karaf/gshell/gshell-features/src/main/resources/META-INF/spring/gshell-features.xml
+++ b/karaf/gshell/gshell-features/src/main/resources/META-INF/spring/gshell-features.xml
@@ -39,7 +39,7 @@
   http://servicemix.apache.org/schema/servicemix-gshell/servicemix-gshell.xsd">
 
     <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-      <property name="location" value="file:${karaf.home}/etc/org.apache.servicemix.features.cfg"/>
+      <property name="location" value="file:${karaf.home}/etc/org.apache.felix.karaf.features.cfg"/>
     </bean>
 
     <gshell:command-bundle>
@@ -108,7 +108,6 @@
     <bean id="featureServiceRegistry" class="org.apache.felix.karaf.gshell.features.management.ManagedFeaturesRegistry" init-method="init">
         <property name="managementAgent" ref="managementAgent" />
         <property name="namingStrategy" ref="namingStrategy" />
-        <property name="featuresService" ref="featuresService" />
     </bean>
 
     <osgi:reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin" />
diff --git a/karaf/jaas/jaas-modules/src/main/resources/META-INF/spring/karaf-jaas-module.xml b/karaf/jaas/jaas-modules/src/main/resources/META-INF/spring/karaf-jaas-module.xml
index 5791028..a989da8 100644
--- a/karaf/jaas/jaas-modules/src/main/resources/META-INF/spring/karaf-jaas-module.xml
+++ b/karaf/jaas/jaas-modules/src/main/resources/META-INF/spring/karaf-jaas-module.xml
@@ -53,7 +53,7 @@
 
     <jaas:config id="karaf">
         <jaas:module className="org.apache.felix.karaf.jaas.modules.properties.PropertiesLoginModule" flags="required">
-            users = ${servicemix.base}/etc/users.properties
+            users = ${karaf.base}/etc/users.properties
         </jaas:module>
     </jaas:config>
 
