diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index 46a59a179..a1619a9f2 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -106,7 +106,7 @@ otError MleRouter::SetRouterEligible(bool aEligible) { otError error = OT_ERROR_NONE; - VerifyOrExit(IsFullThreadDevice(), error = OT_ERROR_NOT_CAPABLE); + VerifyOrExit(IsFullThreadDevice() || !aEligible, error = OT_ERROR_NOT_CAPABLE); mRouterEligible = aEligible;