diff --git a/src/jamidht/account_manager.cpp b/src/jamidht/account_manager.cpp
index 17519a654d45c10271f118b853aeb29c7911d91e..20c8ed1b8d04366cfeff1478d253d6b75ceb8094 100644
--- a/src/jamidht/account_manager.cpp
+++ b/src/jamidht/account_manager.cpp
@@ -39,10 +39,10 @@ AccountManager::CertRequest
 AccountManager::buildRequest(PrivateKey fDeviceKey)
 {
     return dht::ThreadPool::computation().get<std::unique_ptr<dht::crypto::CertificateRequest>>(
-        [fDeviceKey] {
+        [fDeviceKey = std::move(fDeviceKey)] {
             auto request = std::make_unique<dht::crypto::CertificateRequest>();
             request->setName("Jami device");
-            auto deviceKey = fDeviceKey.get();
+            const auto& deviceKey = fDeviceKey.get();
             request->setUID(deviceKey->getPublicKey().getId().toString());
             request->sign(*deviceKey);
             return request;
diff --git a/src/jamidht/archive_account_manager.cpp b/src/jamidht/archive_account_manager.cpp
index 18ffbb8f47618f421cdffbf62add3864f8ba2d5f..a69678ad88f37a55b2264b26b2a4eea5ac773aeb 100644
--- a/src/jamidht/archive_account_manager.cpp
+++ b/src/jamidht/archive_account_manager.cpp
@@ -52,7 +52,7 @@ ArchiveAccountManager::initAuthentication(PrivateKey key,
     ctx->onFailure = std::move(onFailure);
 
     if (not ctx->credentials) {
-        onFailure(AuthError::INVALID_ARGUMENTS, "invalid credentials");
+        ctx->onFailure(AuthError::INVALID_ARGUMENTS, "invalid credentials");
         return;
     }