diff --git a/libraries/AP_NavEKF3/AP_NavEKF3_PosVelFusion.cpp b/libraries/AP_NavEKF3/AP_NavEKF3_PosVelFusion.cpp index 54151542f6..535491104c 100644 --- a/libraries/AP_NavEKF3/AP_NavEKF3_PosVelFusion.cpp +++ b/libraries/AP_NavEKF3/AP_NavEKF3_PosVelFusion.cpp @@ -608,7 +608,7 @@ void NavEKF3_core::FuseVelPosNED() const float gndMaxBaroErr = 4.0f; const float gndBaroInnovFloor = -0.5f; - if(getTouchdownExpected()) { + if(getTouchdownExpected() && activeHgtSource == HGT_SOURCE_BARO) { // when a touchdown is expected, floor the barometer innovation at gndBaroInnovFloor // constrain the correction between 0 and gndBaroInnovFloor+gndMaxBaroErr // this function looks like this: