diff --git a/src/input/input_manager.cpp b/src/input/input_manager.cpp
index 4241cb182..19550bcda 100644
--- a/src/input/input_manager.cpp
+++ b/src/input/input_manager.cpp
@@ -777,7 +777,7 @@ void InputManager::dispatchInput(Input::InputType type, int deviceID,
             Controller* controller = pk->getController();
             if (controller != NULL) controller->action(action, abs(value));
         }
-        else if (race_manager->isWatchingReplay())
+        else if (race_manager->isWatchingReplay() && !GUIEngine::ModalDialog::isADialogActive())
         {
             // Get the first ghost kart
             World::getWorld()->getKart(0)
diff --git a/src/states_screens/dialogs/ghost_replay_info_dialog.cpp b/src/states_screens/dialogs/ghost_replay_info_dialog.cpp
index 5fc2eda53..ee8a704ff 100644
--- a/src/states_screens/dialogs/ghost_replay_info_dialog.cpp
+++ b/src/states_screens/dialogs/ghost_replay_info_dialog.cpp
@@ -43,7 +43,6 @@ GhostReplayInfoDialog::GhostReplayInfoDialog(unsigned int replay_id)
         (m_rd.m_filename) : m_rd.m_filename).c_str()), false);
 
     m_back_widget = getWidget<IconButtonWidget>("back");
-    m_back_widget->setFocusForPlayer(PLAYER_ID_GAME_MASTER);
 
     // Non-deletable for custom (standard) replay file
     getWidget<IconButtonWidget>("remove")->setActive(!m_rd.m_custom_replay_file);
@@ -62,6 +61,8 @@ GhostReplayInfoDialog::GhostReplayInfoDialog(unsigned int replay_id)
     m_record_widget->setState(false);
     m_watch_widget->setState(false);
 
+    m_action_widget->setFocusForPlayer(PLAYER_ID_GAME_MASTER);
+    m_action_widget->select("start", PLAYER_ID_GAME_MASTER);
 }   // GhostReplayInfoDialog
 
 // -----------------------------------------------------------------------------