diff --git a/src/core/thread/mesh_forwarder.cpp b/src/core/thread/mesh_forwarder.cpp index f5b1afe56..2452c94f9 100644 --- a/src/core/thread/mesh_forwarder.cpp +++ b/src/core/thread/mesh_forwarder.cpp @@ -654,7 +654,7 @@ Message *MeshForwarder::PrepareNextDirectTransmission(void) #endif LogMessage(kMessageDrop, *curMessage, error); FinalizeMessageDirectTx(*curMessage, error); - mSendQueue.DequeueAndFree(*curMessage); + RemoveMessageIfNoPendingTx(*curMessage); continue; } }