diff --git a/src/jamidht/archive_account_manager.cpp b/src/jamidht/archive_account_manager.cpp
index 1418e9b6107d1c66d0034078d1d99dede1a0e932..c55b6a6d74709bab17fdbe24df4a01d16c0b6df5 100644
--- a/src/jamidht/archive_account_manager.cpp
+++ b/src/jamidht/archive_account_manager.cpp
@@ -286,6 +286,8 @@ ArchiveAccountManager::migrateAccount(AuthContext& ctx)
         return;
     }
 
+    updateArchive(archive);
+
     if (updateCertificates(archive, ctx.credentials->updateIdentity)) {
         onArchiveLoaded(ctx, std::move(archive));
     } else
diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index 2a41c7afa4a5a83692ff8267bd3ed8045a2dd861..a2cdcd99ab43562b993fc26732af8dc52fcf0111 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -995,11 +995,11 @@ JamiAccount::loadAccount(const std::string& archive_password, const std::string&
                     ringDeviceName_ = info.deviceId.substr(8);
 
                 auto nameServerIt = config.find(DRing::Account::ConfProperties::RingNS::URI);
-                if (nameServerIt != config.end()) {
+                if (nameServerIt != config.end() && !nameServerIt->second.empty()) {
                     nameServer_ = nameServerIt->second;
                 }
                 auto displayNameIt = config.find(DRing::Account::ConfProperties::DISPLAYNAME);
-                if (displayNameIt != config.end()) {
+                if (displayNameIt != config.end() && !displayNameIt->second.empty()) {
                     displayName_ = displayNameIt->second;
                 }