diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
index f8acb55f30cffd5d3ab5296c575115c8fb6b2679..472680dabbf2452e64a29cf00eac7b30138966ea 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
@@ -112,10 +112,10 @@ public class DirectoryEntryServlet extends HttpServlet {
         if (callingUser.getAccessLevel() == AccessLevel.ADMIN || (callingUser.getAccessLevel() == AccessLevel.USER && callingUser.getUsername().equals(targetUser.getUsername()))) {
             select = new StatementList();
             select.addStatement(new StatementElement("username", "=", userProfile.getUsername(), ""));
-            if (dataStore.updateUserGroupMappings(userProfile))
+            if (dataStore.updateUserProfile(userProfile) && dataStore.updateUserGroupMappings(userProfile))
                 resp.setStatus(200);
             else
-                resp.sendError(404, "Could not update the users's profile information");
+                resp.sendError(500, "Could not update the users's profile information");
         } else {
             resp.sendError(403, "The user is either not an admin account or is attempting to edit a profile that is not his own!");
             return;