diff --git a/libraries/AP_NavEKF3/AP_NavEKF3.cpp b/libraries/AP_NavEKF3/AP_NavEKF3.cpp index 9b4886e81f..5061039962 100644 --- a/libraries/AP_NavEKF3/AP_NavEKF3.cpp +++ b/libraries/AP_NavEKF3/AP_NavEKF3.cpp @@ -777,7 +777,7 @@ void NavEKF3::UpdateFilter(void) // If the primary core is still healthy,then switching is optional and will only be done if // a core with a significantly lower error score can be found float altErrorScore = core[coreIndex].errorScore(); - if (altCoreAvailable && (!core[primary].healthy() || altErrorScore < lowestErrorScore)) { + if (altCoreAvailable && (!core[newPrimaryIndex].healthy() || altErrorScore < lowestErrorScore)) { newPrimaryIndex = coreIndex; lowestErrorScore = altErrorScore; }