     
     private let parameters: TabBarCoordinatorParameters
     
-    /// Completion called when `popToHomeAnimated:` has been completed.
-    private var popToHomeViewControllerCompletion: (() -> Void)?
+    // Indicate if the Coordinator has started once
+    private var hasStartedOnce: Bool {
+        return self.masterTabBarController != nil
+    }
     
     // TODO: Move MasterTabBarController navigation code here
     // and if possible use a simple: `private let tabBarController: UITabBarController`

            }
            
            self.registerUserSessionsServiceNotifications()
        }
                
        self.updateMasterTabBarController(with: spaceId)
        
        self.registerUserSessionsServiceNotifications()
        self.registerSessionChange()
        
        if let homeViewController = homeViewControllerWrapperViewController {
            let versionCheckCoordinator = VersionCheckCoordinator(rootViewController: masterTabBarController,
                                                              bannerPresenter: homeViewController,
                                                              themeService: ThemeService.shared())
            versionCheckCoordinator.start()
            add(childCoordinator: versionCheckCoordinator)
        }
    }
    
    func toPresentable() -> UIViewController {

    func start(with spaceId: String?) {
        self.currentSpaceId = spaceId
        
        // If start has been done once do not setup view controllers again
        if self.hasStartedOnce == false {
            let masterTabBarController = self.createMasterTabBarController()
            masterTabBarController.masterTabBarDelegate = self
            self.masterTabBarController = masterTabBarController
