diff --git a/libi2pd/SSU2.cpp b/libi2pd/SSU2.cpp index 5a13aadc..56ccfe93 100644 --- a/libi2pd/SSU2.cpp +++ b/libi2pd/SSU2.cpp @@ -386,8 +386,11 @@ namespace transport auto it1 = m_PendingOutgoingSessions.find (senderEndpoint); if (it1 != m_PendingOutgoingSessions.end ()) { - if (it1->second->ProcessSessionCreated (buf, len)) - m_PendingOutgoingSessions.erase (it1); // we are done with that endpoint + if (it1->second->GetState () == eSSU2SessionStateSessionRequestSent) + { + if (it1->second->ProcessSessionCreated (buf, len)) + m_PendingOutgoingSessions.erase (it1); // we are done with that endpoint + } else it1->second->ProcessRetry (buf, len); }