Startupmanager can not delegate to the StartupHandler anymore because it is now providing that one itself.
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);
                             }