diff --git a/libraries/AP_AHRS/AP_AHRS_DCM.cpp b/libraries/AP_AHRS/AP_AHRS_DCM.cpp index 27ee51d6ef..b5d88570d2 100644 --- a/libraries/AP_AHRS/AP_AHRS_DCM.cpp +++ b/libraries/AP_AHRS/AP_AHRS_DCM.cpp @@ -1033,6 +1033,14 @@ bool AP_AHRS_DCM::airspeed_estimate(float *airspeed_ret) const bool AP_AHRS_DCM::set_home(const Location &loc) { + // check location is valid + if (loc.lat == 0 && loc.lng == 0 && loc.alt == 0) { + return false; + } + if (!check_latlng(loc)) { + return false; + } + _home = loc; _home_is_set = true;