diff --git a/Destination.cpp b/Destination.cpp
index d4982ed6..91f2a2bb 100644
--- a/Destination.cpp
+++ b/Destination.cpp
@@ -87,8 +87,6 @@ namespace client
 			Stop ();
 		if (m_Pool)
 			i2p::tunnel::tunnels.DeleteTunnelPool (m_Pool);		
-		for (auto& it: m_LeaseSetRequests)
-			it.second->Complete (nullptr);
 	}	
 
 	void LeaseSetDestination::Run ()
@@ -132,6 +130,13 @@ namespace client
 			m_PublishConfirmationTimer.cancel ();
 			m_PublishVerificationTimer.cancel ();
 			
+			for (auto& it: m_LeaseSetRequests)
+			{
+				it.second->Complete (nullptr);
+				it.second->requestTimeoutTimer.cancel ();
+			}
+			m_LeaseSetRequests.clear ();			
+
 			m_IsRunning = false;
 			if (m_Pool)
 			{	
diff --git a/Garlic.cpp b/Garlic.cpp
index 8f1d59b6..306ac816 100644
--- a/Garlic.cpp
+++ b/Garlic.cpp
@@ -392,7 +392,6 @@ namespace garlic
 	
 	GarlicDestination::~GarlicDestination ()
 	{
-		LogPrint (eLogInfo, "Garlic: destination destroyed");
 	}
 
 	void GarlicDestination::AddSessionKey (const uint8_t * key, const uint8_t * tag)