diff --git a/src/modules/commander/failsafe/failsafe.cpp b/src/modules/commander/failsafe/failsafe.cpp index 5090b22a9c..b0c19db29b 100644 --- a/src/modules/commander/failsafe/failsafe.cpp +++ b/src/modules/commander/failsafe/failsafe.cpp @@ -669,6 +669,15 @@ FailsafeBase::Action Failsafe::checkModeFallback(const failsafe_flags_s &status_ if (action == Action::Disarm) { return action; } + + if (action == Action::FallbackPosCtrl || action == Action::FallbackAltCtrl || action == Action::FallbackStab) { + // Check if RC is available, if not use the mode specified in NAV_RCL_ACT + if (status_flags.manual_control_signal_lost) { + ActionOptions rc_loss_action = fromNavDllOrRclActParam(_param_nav_rcl_act.get()); + action = rc_loss_action.action; + } + + } } // PosCtrl/PositionSlow -> AltCtrl