diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index 91b831694ea3df569524ac4f48f827448f85cba0..37f925bfe97de026b409e976f34ce9293572bd70 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -973,7 +973,10 @@ JamiAccount::loadAccount(const std::string& archive_password, const std::string&
             std::unique_ptr<AccountManager::AccountCredentials> creds;
             if (managerUri_.empty()) {
                 auto acreds = std::make_unique<ArchiveAccountManager::ArchiveAccountCredentials>();
-                acreds->archivePath = archivePath_.empty() ? "archive.gz" : archivePath_;
+                if (archivePath_.empty()) {
+                    archivePath_ = "archive.gz";
+                }
+                acreds->archivePath = archivePath_;
                 if (not archive_path.empty()) {
                     acreds->scheme = "file";
                     acreds->uri = archive_path;
@@ -991,6 +994,7 @@ JamiAccount::loadAccount(const std::string& archive_password, const std::string&
                 creds = std::move(screds);
             }
             creds->password = archive_password;
+            archiveHasPassword_ = !archive_password.empty();
 
             accountManager_->initAuthentication(
                 std::move(fReq),