diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 5e6a9082d4..c3c009adb5 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -2011,7 +2011,9 @@ void Commander::checkForMissionUpdate() _user_mode_intention.change(vehicle_status_s::NAVIGATION_STATE_AUTO_MISSION); } else { - _user_mode_intention.change(vehicle_status_s::NAVIGATION_STATE_AUTO_LOITER); + // Transition to loiter when the takeoff is completed (force into the Loiter, if mode is not executable then failsafe). + _user_mode_intention.change(vehicle_status_s::NAVIGATION_STATE_AUTO_LOITER, ModeChangeSource::ModeExecutor, false, + true); } } else if (_vehicle_status.nav_state == vehicle_status_s::NAVIGATION_STATE_AUTO_MISSION) {