diff --git a/libraries/AP_NavEKF/AP_NavEKF.cpp b/libraries/AP_NavEKF/AP_NavEKF.cpp index 529bed0bf9c1e0e29dc3620ed07b21a7b1b540e0..3ed3be8b0b263a294b0710375913346d9bd79ac1 100644 --- a/libraries/AP_NavEKF/AP_NavEKF.cpp +++ b/libraries/AP_NavEKF/AP_NavEKF.cpp @@ -4503,8 +4503,8 @@ void NavEKF::getFilterStatus(nav_filter_status &status) const status.flags.vert_pos = !hgtTimeout; // vertical position estimate valid status.flags.terrain_alt = gndOffsetValid; // terrain height estimate valid status.flags.const_pos_mode = constPosMode; // constant position mode - status.flags.pred_horiz_pos_rel = status.flags.horiz_pos_rel; - status.flags.pred_horiz_pos_abs = status.flags.horiz_pos_abs; + status.flags.pred_horiz_pos_rel = optFlowNavPossible || gpsNavPossible; // we should be able to estimate a relative position when we enter flight mode + status.flags.pred_horiz_pos_abs = gpsNavPossible; // we should be able to estimate an absolute position when we enter flight mode } // Check arm status and perform required checks and mode changes