diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 5e03832ec1..235bcb337a 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -2015,7 +2015,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) {