diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index 1e62fb0f4..a9648cef2 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -1977,6 +1977,9 @@ ThreadError Mle::HandleParentResponse(const Message &aMessage, const Ip6::Messag switch (mParentRequestMode) { case kMleAttachAnyPartition: + VerifyOrExit((mDeviceMode & ModeTlv::kModeFFD) == 0 || + leaderData.GetPartitionId() != mLeaderData.GetPartitionId() || + static_cast(connectivity.GetIdSequence() - mMleRouter.GetRouterIdSequence()) > 0,); break; case kMleAttachSamePartition: