         if let _ = self.presentedViewController {
             self.presentedViewController?.dismiss(animated: true, completion: {
                 if let completion = completion {
+                    super.hideDimView()
                     completion()
                 }
             })

                    }
                })
            } else if Round.instance.getWinningTeam() == opponentTeam {
                self.dismissPresentedViewIfNeeded(completion: {
                    self.didEndGame(
                        SCStrings.header.gameOver.rawValue,
                        reason: SCStrings.message.defaultLoseString.rawValue,
                        onDismissal: self.onGameOverDismissal
                    )
                })
            }
        case let synchronizedObject as Room:
            Room.instance = synchronizedObject

        case let synchronizedObject as Round:
            if self.leaderIsEditing {
                if synchronizedObject.isAborted() {
                    self.didEndGame(
                        SCStrings.header.gameAborted.rawValue,
                        reason: SCStrings.message.playerAborted.rawValue,
                        onDismissal: self.onAbortDismissal
                    )
                }

                return
            }

            Round.instance = synchronizedObject

            if Round.instance.isAborted() {
                self.didEndGame(
                    SCStrings.header.gameAborted.rawValue,
                    reason: SCStrings.message.playerAborted.rawValue,
                    onDismissal: self.onAbortDismissal
                )
            } else if Round.instance.getWinningTeam() == Player.instance.getTeam() {
                self.dismissPresentedViewIfNeeded(completion: {
                    if GameMode.instance.getMode() == .regularGame {
