diff --git a/src/connectivity/connectionmanager.cpp b/src/connectivity/connectionmanager.cpp
index 6e79a8881c3427a1f19b0faa4aa7f5c4ccd0e962..169fa7e1be31b85ff170a407fcd799e936b8882c 100644
--- a/src/connectivity/connectionmanager.cpp
+++ b/src/connectivity/connectionmanager.cpp
@@ -975,7 +975,7 @@ ConnectionManager::Impl::onDhtPeerRequest(const PeerConnectionRequest& req,
                 return;
             if (!ok) {
                 JAMI_ERR("Cannot initialize ICE session.");
-                runOnMainThread([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
+                dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
                 return;
             }
 
@@ -985,7 +985,7 @@ ConnectionManager::Impl::onDhtPeerRequest(const PeerConnectionRequest& req,
                     if (!shared)
                         return;
                     if (!shared->onRequestStartIce(req))
-                        runOnMainThread([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
+                        eraseInfo();
                 });
         };