         
         self.addModule(module, for: controller)
         
-        let controllersToPop = self.navigationController.viewControllers
+        let controllersToPop = self.navigationController.viewControllers.reversed()
         
         controllersToPop.forEach {
             self.willPopViewController($0)

        if let controllerIndex = controllersBeforePop.firstIndex(of: controller) {
            let controllersToPop = controllersBeforePop[controllerIndex..<controllersBeforePop.count]
            
            controllersToPop.forEach {
                self.willPopViewController($0)
            }
        }
        
        if let controllers = navigationController.popToViewController(controller, animated: animated) {
            controllers.forEach {
                self.didPopViewController($0)
            }
        }

    func popAllModules(animated: Bool) {
        MXLog.debug("[NavigationRouter] Pop all modules")
        
        let controllersToPop = self.navigationController.viewControllers.reversed()
        
        controllersToPop.forEach {
            self.willPopViewController($0)
