diff --git a/libraries/AP_NavEKF/AP_NavEKF_Source.cpp b/libraries/AP_NavEKF/AP_NavEKF_Source.cpp index 3684c9b9e3..c4992dd0a7 100644 --- a/libraries/AP_NavEKF/AP_NavEKF_Source.cpp +++ b/libraries/AP_NavEKF/AP_NavEKF_Source.cpp @@ -443,9 +443,16 @@ bool AP_NavEKF_Source::pre_arm_check(bool requires_position, char *failure_msg, return false; } - if (beacon_required && (dal.beacon() == nullptr || !dal.beacon()->enabled())) { - hal.util->snprintf(failure_msg, failure_msg_len, ekf_requires_msg, "Beacon"); - return false; + if (beacon_required) { +#if AP_BEACON_ENABLED + const bool beacon_available = (dal.beacon() != nullptr && dal.beacon()->enabled()); +#else + const bool beacon_available = false; +#endif + if (!beacon_available) { + hal.util->snprintf(failure_msg, failure_msg_len, ekf_requires_msg, "Beacon"); + return false; + } } if (compass_required && (dal.compass().get_num_enabled() == 0)) {