diff --git a/libraries/AP_Arming/AP_Arming.cpp b/libraries/AP_Arming/AP_Arming.cpp index 6f6bfa959f..dc1d5128d2 100644 --- a/libraries/AP_Arming/AP_Arming.cpp +++ b/libraries/AP_Arming/AP_Arming.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #if HAL_WITH_UAVCAN #include @@ -698,6 +699,13 @@ bool AP_Arming::system_checks(bool report) check_failed(ARMING_CHECK_SYSTEM, report, "Param storage failed"); return false; } +#if AP_TERRAIN_AVAILABLE + const AP_Terrain *terrain = AP_Terrain::get_singleton(); + if ((terrain != nullptr) && terrain->init_failed()) { + check_failed(ARMING_CHECK_SYSTEM, report, "Terrain out of memory"); + return false; + } +#endif } if (AP::internalerror().errors() != 0) { check_failed(report, "Internal errors (0x%x)", (unsigned int)AP::internalerror().errors());