diff --git a/packages/core-services/src/LocalBroker.ts b/packages/core-services/src/LocalBroker.ts index be19791097658..454b4e24af3f9 100644 --- a/packages/core-services/src/LocalBroker.ts +++ b/packages/core-services/src/LocalBroker.ts @@ -150,9 +150,9 @@ export class LocalBroker implements IBroker { * Registers services to be started. We're assuming that each service will only have one level of dependencies. */ private registerPendingServices(services: string[] = []): void { - for (const service of services) { - this.pendingServices.add(service); - } + services + .filter((e) => !this.services.has(e) || !this.services.get(e)?.isStarted) + .forEach((service) => this.pendingServices.add(service)); } /**