diff --git a/src/modules/land_detector/MulticopterLandDetector.cpp b/src/modules/land_detector/MulticopterLandDetector.cpp index 3e54f3d0c980..628a8ec3f4fe 100644 --- a/src/modules/land_detector/MulticopterLandDetector.cpp +++ b/src/modules/land_detector/MulticopterLandDetector.cpp @@ -249,8 +249,8 @@ bool MulticopterLandDetector::_get_maybe_landed_state() bool MulticopterLandDetector::_get_landed_state() { - // When not armed, consider to be landed - if (!_arming.armed) { + // if disarmed or if already landed and that the drone has low thrust, it has to be on the ground + if (!_arming.armed || (_state == LandDetectionState::LANDED && _has_low_thrust())) { return true; }