diff --git a/src/manager.cpp b/src/manager.cpp
index 1939195ded66383ed9337a964079bda13fa4a569..4e51970a06b8bc8427ffd63d3670cf6e98de3998 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -2697,20 +2697,19 @@ Manager::loadAccountOrder() const
 int
 Manager::loadAccountMap(const YAML::Node& node)
 {
-    // build preferences
-    preferences.unserialize(node);
-    voipPreferences.unserialize(node);
-    hookPreference.unserialize(node);
-    audioPreference.unserialize(node);
-    shortcutPreferences.unserialize(node);
-
     int errorCount = 0;
     try {
+        // build preferences
+        preferences.unserialize(node);
+        voipPreferences.unserialize(node);
+        hookPreference.unserialize(node);
+        audioPreference.unserialize(node);
+        shortcutPreferences.unserialize(node);
 #ifdef ENABLE_VIDEO
         videoPreferences.unserialize(node);
 #endif
     } catch (const YAML::Exception &e) {
-        JAMI_ERR("%s: No video node in config file", e.what());
+        JAMI_ERR("%s: Preferences node unserialize error: ", e.what());
         ++errorCount;
     }