diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index c56d55d04..432876917 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -1348,7 +1348,8 @@ Error MleRouter::HandleAdvertisementOnFtd(RxInfo &aRxInfo, uint16_t aSourceAddre // Send unicast link request if no link to router and no // unicast/multicast link request in progress - if (!router->IsStateValid() && !router->IsStateLinkRequest() && (linkMargin >= kLinkRequestMinMargin)) + if (!router->IsStateValid() && !router->IsStateLinkRequest() && (linkMargin >= kLinkRequestMinMargin) && + routeTlv.IsRouterIdSet(mRouterId)) { InitNeighbor(*router, aRxInfo); router->SetState(Neighbor::kStateLinkRequest);