diff --git a/src/core/coap/coap_client.cpp b/src/core/coap/coap_client.cpp index b6335185a..c871f5814 100644 --- a/src/core/coap/coap_client.cpp +++ b/src/core/coap/coap_client.cpp @@ -307,7 +307,8 @@ Message *Client::FindRelatedRequest(const Header &aResponseHeader, const Ip6::Me { aRequestMetadata.ReadFrom(*message); - if ((aRequestMetadata.mDestinationAddress == aMessageInfo.GetPeerAddr()) && + if (((aRequestMetadata.mDestinationAddress == aMessageInfo.GetPeerAddr()) || + aRequestMetadata.mDestinationAddress.IsMulticast()) && (aRequestMetadata.mDestinationPort == aMessageInfo.GetPeerPort())) { assert(aRequestHeader.FromMessage(*message, true) == kThreadError_None);