diff --git a/src/FlightDisplay/FlightDisplayView.qml b/src/FlightDisplay/FlightDisplayView.qml
index c62ceec..3e8f737 100644
--- a/src/FlightDisplay/FlightDisplayView.qml
+++ b/src/FlightDisplay/FlightDisplayView.qml
@@ -70,12 +70,6 @@ Item {
     readonly property string    _mainIsMapKey:          "MainFlyWindowIsMap"
     readonly property string    _PIPVisibleKey:         "IsPIPVisible"
 
-    onVisibleChanged: {
-        if (activeVehicle && !_checklistComplete && _enforceChecklist) {
-            checklistPopupTimer.restart()
-        }
-    }
-
     Timer {
         id:             checklistPopupTimer
         interval:       1000
@@ -122,6 +116,12 @@ Item {
         return true;
     }
 
+    function showPreflightChecklistIfNeeded () {
+        if (activeVehicle && !_checklistComplete && _enforceChecklist) {
+            checklistPopupTimer.restart()
+        }
+    }
+
     Connections {
         target:                     _missionController
         onResumeMissionUploadFail:  guidedActionsController.confirmAction(guidedActionsController.actionResumeMissionUploadFail)
diff --git a/src/ui/MainRootWindow.qml b/src/ui/MainRootWindow.qml
index 19950e7..40457e5 100644
--- a/src/ui/MainRootWindow.qml
+++ b/src/ui/MainRootWindow.qml
@@ -113,6 +113,10 @@ ApplicationWindow {
     }
 
     function showFlyView() {
+        if (!flightView.visible) {
+            flightView.showPreflightChecklistIfNeeded()
+        }
+
         viewSwitch(false)
         flightView.visible = true
     }