diff --git a/libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp b/libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp index 039b1036c3042..b9668febaaf14 100644 --- a/libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp +++ b/libraries/AP_NavEKF2/AP_NavEKF2_Control.cpp @@ -250,6 +250,9 @@ void NavEKF2_core::setAidingMode() tasTimeout = true; gpsNotAvailable = true; } else if (posAidLossCritical) { + if ((frontend->_flowUse & FLOW_USE_NAV) && optFlowDataPresent() && (imuSampleTime_ms - rngValidMeaTime_ms < 500)) { + PV_AidingMode = AID_NONE; + } // if the loss of position is critical, declare all sources of position aiding as being timed out posTimeout = true; velTimeout = true;