diff --git a/jams-common/src/main/java/net/jami/jams/common/objects/user/UserProfile.java b/jams-common/src/main/java/net/jami/jams/common/objects/user/UserProfile.java
index 08c6b08999aff5a765c21d840299fdd8ebcdf47e..4161dcf4553b05193a5a499107430ab629337257 100644
--- a/jams-common/src/main/java/net/jami/jams/common/objects/user/UserProfile.java
+++ b/jams-common/src/main/java/net/jami/jams/common/objects/user/UserProfile.java
@@ -85,14 +85,6 @@ public class UserProfile implements DatabaseObject {
         this.mobileNumber = rs.getString("mobileNumber");
     }
 
-    public String getJamiId(){
-        return jamiId;
-    }
-
-    public void setJamiId(User user){
-        jamiId = user.getJamiId();
-    }
-
     @JsonIgnore
     //Ignore this if we pass through JSON iterator.
     public String getAsVCard(){
diff --git a/jams-react-client/src/views/UserProfile/EditCreateUserProfile.js b/jams-react-client/src/views/UserProfile/EditCreateUserProfile.js
index 3c1f94a6fe608626b776fd61b78350d97e8b04bd..728cf99602496a8d48149d628b9c41f0db1c47f2 100644
--- a/jams-react-client/src/views/UserProfile/EditCreateUserProfile.js
+++ b/jams-react-client/src/views/UserProfile/EditCreateUserProfile.js
@@ -241,7 +241,8 @@ export default function EditCreateUserProfile(props) {
             'faxNumber': faxNumber,
             'phoneNumber': phoneNumber,
             'phoneNumberExtension': extension,
-            'mobileNumber': mobileNumber
+            'mobileNumber': mobileNumber,
+            'jamiId': ""
         }
 
         axios(configApiCall(api_path_post_create_user + "?username="+ data.username, 'POST', null, null)).then((response) => {
@@ -335,7 +336,7 @@ export default function EditCreateUserProfile(props) {
             <DialogTitle id="alert-dialog-title">{"Temporary password"}</DialogTitle>
             <DialogContent>
             <DialogContentText id="alert-dialog-description">
-            New user successfully created. Here is the one time password: <strong>{temporaryPassword}</strong> ?
+            New user successfully created. Here is the one time password: <strong>{temporaryPassword}</strong>
             </DialogContentText>
             </DialogContent>
             <DialogActions>
diff --git a/jams-server/pom.xml b/jams-server/pom.xml
index bc4202db0216e41c2ef3cf538dd72bfa58ec8c9d..1734c7098642680e9654349ab8357a4d2e8c4661 100644
--- a/jams-server/pom.xml
+++ b/jams-server/pom.xml
@@ -84,6 +84,11 @@
             <artifactId>httpclient</artifactId>
             <version>4.5.10</version>
         </dependency>
+        <dependency>
+            <groupId>org.json</groupId>
+            <artifactId>json</artifactId>
+            <version>20190722</version>
+        </dependency>
     </dependencies>
 
     <build>
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 3ccddf07ed28db2b3c85edc987082723093afb06..27c8fa74feb7373a089b25510fe01f751f79072c 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
@@ -37,9 +37,11 @@ import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
 import net.jami.jams.common.objects.user.AccessLevel;
 import net.jami.jams.common.objects.user.UserProfile;
+import org.json.JSONObject;
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.Scanner;
 
 import static net.jami.jams.server.Server.userAuthenticationModule;
 import static net.jami.jams.server.Server.dataStore;
@@ -50,10 +52,26 @@ public class DirectoryEntryServlet extends HttpServlet {
 
     @Override
     @ScopedServletMethod(securityGroups = {AccessLevel.ADMIN})
-    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
         //Create a user profile.
         String realm = "LOCAL";
-        UserProfile userProfile = JsonIterator.deserialize(req.getInputStream().readAllBytes(), UserProfile.class);
+        Scanner s = new Scanner(req.getInputStream()).useDelimiter("\\A");
+        String result = s.hasNext() ? s.next() : "";
+        final JSONObject obj = new JSONObject(result);
+
+        UserProfile userProfile = new UserProfile();
+        userProfile.setUsername(obj.get("username").toString());
+        userProfile.setFirstName(obj.get("firstName").toString());
+        userProfile.setLastName(obj.get("lastName").toString());
+        userProfile.setEmail(obj.get("email").toString());
+        userProfile.setProfilePicture(obj.get("profilePicture").toString());
+        userProfile.setOrganization(obj.get("organization").toString());
+        userProfile.setPhoneNumber(obj.get("phoneNumber").toString());
+        userProfile.setPhoneNumberExtension(obj.get("phoneNumberExtension").toString());
+        userProfile.setFaxNumber(obj.get("faxNumber").toString());
+        userProfile.setMobileNumber(obj.get("mobileNumber").toString());
+        userProfile.setJamiId(obj.get("jamiId").toString());
+
         userAuthenticationModule.getAuthSources().get(new AuthModuleKey(realm, AuthenticationSourceType.LOCAL))
             .setUserProfile(userProfile);
         resp.setStatus(200);
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
index e3639ef437031c8a299dd829f084f1aea9f67495..b8e0d0ce54568014996fd7c3cc601b9052b8b08b 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
@@ -78,7 +78,7 @@ public class SearchDirectoryServlet extends HttpServlet {
                         user.setAccessLevel(AccessLevel.USER);
                         userAuthenticationModule.createUser(user.getUserType(), user.getRealm(), nameServer, user);
                     } else {
-                        profile.setJamiId(results.get(0));
+                        profile.setJamiId(results.get(0).getJamiId());
                     }
                 }
                 userProfiles.add(profile);