diff --git a/startupmanager/src/main/java/org/apache/sling/launchpad/startupmanager/StartupListenerTracker.java b/startupmanager/src/main/java/org/apache/sling/launchpad/startupmanager/StartupListenerTracker.java
index 532acf6..14f083b 100644
--- a/startupmanager/src/main/java/org/apache/sling/launchpad/startupmanager/StartupListenerTracker.java
+++ b/startupmanager/src/main/java/org/apache/sling/launchpad/startupmanager/StartupListenerTracker.java
@@ -46,10 +46,7 @@
     StartupListenerTracker(final BundleContext bundleContext) {
         this.bundleContext = bundleContext;
 
-        final ServiceReference<StartupHandler> startupHandlerServiceReference = bundleContext.getServiceReference(StartupHandler.class);
-        final StartupHandler startupHandler = bundleContext.getService(startupHandlerServiceReference);
-        startupMode = startupHandler.getMode();
-        bundleContext.ungetService(startupHandlerServiceReference);
+        startupMode = StartupMode.INSTALL;
 
         tracker = new ServiceTracker<>(bundleContext, StartupListener.class,
                 new ServiceTrackerCustomizer<StartupListener, StartupListener>() {
@@ -68,7 +65,7 @@
                         final StartupListener listener = bundleContext.getService(reference);
                         if (listener != null) {
                             try {
-                                listener.inform(startupHandler.getMode(), frameworkStarted);
+                                listener.inform(startupMode, frameworkStarted);
                             } catch (final Throwable t) {
                                 log.error("Error calling StartupListener {}", listener, t);
                             }
