diff --git a/src/jamidht/archive_account_manager.cpp b/src/jamidht/archive_account_manager.cpp
index 12ad8864f9c31e0d981ec6cde4ea8e9f0bead9b6..cf2e6ba2c602fe54d8b38f30a8ade43ac83d26eb 100644
--- a/src/jamidht/archive_account_manager.cpp
+++ b/src/jamidht/archive_account_manager.cpp
@@ -209,6 +209,9 @@ ArchiveAccountManager::loadFromDHT(const std::shared_ptr<AuthContext>& ctx)
         try {
             std::tie(key, loc) = computeKeys(ctx->credentials->password, ctx->credentials->uri, previous);
             JAMI_DBG("[Auth] trying to load account from DHT with %s at %s", /**/ctx->credentials->uri.c_str(), loc.toString().c_str());
+            if (not ctx->dhtContext or ctx->dhtContext->found) {
+                return;
+            }
             ctx->dhtContext->dht.get(loc, [ctx, key=std::move(key), onAsync](const std::shared_ptr<dht::Value>& val) {
                 std::vector<uint8_t> decrypted;
                 try {