diff --git a/src/authority/databasehelper.cpp b/src/authority/databasehelper.cpp
index 09a0347b23a255ae2c9d7ddec4984a612004a539..8be410d6d21a288fb0e2be92b9eae8f849465c58 100644
--- a/src/authority/databasehelper.cpp
+++ b/src/authority/databasehelper.cpp
@@ -96,6 +96,20 @@ getPeerParticipantsForConversation(Database& db, const std::string& profileId, c
                      {{":id", conversationId}, {":participant_id", profileId}}).payloads;
 }
 
+std::string
+getAvatarForProfileId(Database& db, const std::string& profileId)
+{
+    auto returnFromDb = db.select("photo",
+                                  "profiles",
+                                  "id=:id",
+                                  {{":id", profileId}});
+    if (returnFromDb.nbrOfCols == 1 && returnFromDb.payloads.size() >= 1) {
+      auto payloads = returnFromDb.payloads;
+      return payloads[0];
+    }
+    return "";
+}
+
 api::contact::Info
 buildContactFromProfileId(Database& db, const std::string& profileId)
 {
diff --git a/src/authority/databasehelper.h b/src/authority/databasehelper.h
index 59cc183a871422a6c4178cb88b1968201e5fde3e..11999fa39663b24ee83ebfc23ab1b732a6fab6f2 100644
--- a/src/authority/databasehelper.h
+++ b/src/authority/databasehelper.h
@@ -77,6 +77,13 @@ std::vector<std::string> getPeerParticipantsForConversation(Database& db,
                                                             const std::string& profileId,
                                                             const std::string& conversationId);
 
+/**
+ * @param  db
+ * @param  profileId
+ * @return the avatar in the database for a profile
+ */
+std::string getAvatarForProfileId(Database& db, const std::string& profileId);
+
 api::contact::Info buildContactFromProfileId(Database& db, const std::string& profileId);
 
 /**
diff --git a/src/newaccountmodel.cpp b/src/newaccountmodel.cpp
index f64d75282cf1c3ea4ed8273c49d7c8ff45654bec..b713f2453e14611b115544afbf5d1954fd237a9a 100644
--- a/src/newaccountmodel.cpp
+++ b/src/newaccountmodel.cpp
@@ -167,7 +167,6 @@ NewAccountModelPimpl::addToAccounts(const std::string& accountId)
     auto& owner = item.second;
     owner.id = accountId;
     owner.enabled = details["Account.enable"] == QString("true");
-    // TODO get avatar;
     owner.profileInfo.type = details["Account.type"] == "RING" ? profile::Type::RING : profile::Type::SIP;
     owner.profileInfo.alias = details["Account.alias"].toStdString();
     owner.registeredName = owner.profileInfo.type == profile::Type::RING ?
@@ -176,9 +175,12 @@ NewAccountModelPimpl::addToAccounts(const std::string& accountId)
                         details["Account.username"].toStdString().substr(std::string("ring:").size())
                         : details["Account.username"].toStdString();
     // Add profile into database
-    authority::database::getOrInsertProfile(database, owner.profileInfo.uri,
-                                            owner.profileInfo.alias, "",
-                                            details["Account.type"].toStdString());
+    auto accountProfileId = authority::database::getOrInsertProfile(database, owner.profileInfo.uri,
+                                                                    owner.profileInfo.alias, "",
+                                                                    details["Account.type"].toStdString());
+    // Retrieve avatar from database
+    auto avatar = authority::database::getAvatarForProfileId(database, accountProfileId);
+    owner.profileInfo.avatar = avatar;
     // Init models for this account
     owner.callModel = std::make_unique<NewCallModel>(owner, callbacksHandler);
     owner.contactModel = std::make_unique<ContactModel>(owner, database, callbacksHandler);