diff --git a/src/core/thread/dua_manager.cpp b/src/core/thread/dua_manager.cpp index 1db85b9e9..ad2857fb6 100644 --- a/src/core/thread/dua_manager.cpp +++ b/src/core/thread/dua_manager.cpp @@ -474,7 +474,7 @@ void DuaManager::PerformNextRegistration(void) const Ip6::Address *duaPtr = nullptr; Child * child = nullptr; - if (!mChildDuaMask.Get(mChildIndexDuaRegistering)) + if (!mChildDuaMask.Get(mChildIndexDuaRegistering) || mChildDuaRegisteredMask.Get(mChildIndexDuaRegistering)) { for (Child &iter : Get().Iterate(Child::kInStateValid)) {