diff --git a/src/jamidht/p2p.cpp b/src/jamidht/p2p.cpp
index 4d3a233d80496fd26562d0aa181750eee2dbf186..fbf4e7f8af6ccf820e9df84e57aa42a6ba73afcc 100644
--- a/src/jamidht/p2p.cpp
+++ b/src/jamidht/p2p.cpp
@@ -488,11 +488,13 @@ private:
           // In case of a timeout
           JAMI_WARN() << "TLS connection timeout from peer " << peer_.toString()
                       << ": " << e.what();
+          ice->cancelOperations(); // This will stop current PeerChannel operations
           cancel();
           return;
         } catch (...) {
           JAMI_WARN() << "TLS connection failure from peer "
                       << peer_.toString();
+          ice->cancelOperations(); // This will stop current PeerChannel operations
           cancel();
           return;
         }