diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index c5e581c18a5927fa678f9d3fae8f8465afed101e..57dc05e8db94be5df2522762b1ea6c6e5ee4b234 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -2216,9 +2216,11 @@ JamiAccount::convModule(bool noCreation)
                             dht::ThreadPool::io().run([w, cb = std::move(cb), socket=std::move(socket), convId] {
                                 if (socket) {
                                     socket->onShutdown([w, deviceId = socket->deviceId(), convId] {
-                                        if (auto shared = w.lock())
-                                            shared->convModule()->removeGitSocket(deviceId.toString(),
-                                                                            convId);
+                                        dht::ThreadPool::io().run([w, deviceId, convId] {
+                                            if (auto shared = w.lock())
+                                                shared->convModule()->removeGitSocket(deviceId.toString(),
+                                                                                convId);
+                                        });
                                     });
                                     if (!cb(socket))
                                         socket->shutdown();