diff --git a/datastore/src/main/java/net/jami/datastore/main/DataStore.java b/datastore/src/main/java/net/jami/datastore/main/DataStore.java
index a76fe543199f8b65466ba664ad2736b85e1bd0ce..fb1c51c8248df0bbc301ffebc54e8df339262626 100644
--- a/datastore/src/main/java/net/jami/datastore/main/DataStore.java
+++ b/datastore/src/main/java/net/jami/datastore/main/DataStore.java
@@ -129,7 +129,7 @@ public class DataStore implements AuthenticationSource {
         update.addStatement(new StatementElement("phoneNumberExtension","=",userProfile.getPhoneNumberExtension(),""));
         update.addStatement(new StatementElement("faxNumber","=",userProfile.getFaxNumber(),""));
         update.addStatement(new StatementElement("mobileNumber","=",userProfile.getMobileNumber(),""));
-        if (userProfile.getGroupMemberships() != null) {
+        if (userProfile.getGroupMemberships() != null && !userProfile.getGroupMemberships().isEmpty()) {
             String groups = "";
             for (String s: userProfile.getGroupMemberships()) {
                 if (groups.equals(""))
@@ -138,7 +138,10 @@ public class DataStore implements AuthenticationSource {
                     groups = groups.concat("," + s);
             }
             update.addStatement(new StatementElement("groupMemberships","=", groups ,""));
-        }
+        } else
+            update.addStatement(new StatementElement("groupMemberships","=", "" ,""));
+
+
         return userProfileDao.updateObject(update, null);
     }
 
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 83833684912f5741a79fd71f4e9fa45af111dfbf..ea1777ceb51c13696a13f83b435c6e6792080074 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
@@ -89,7 +89,9 @@ public class UserProfile implements DatabaseObject {
         this.phoneNumberExtension = rs.getString("phoneNumberExtension");
         this.faxNumber = rs.getString("faxNumber");
         this.mobileNumber = rs.getString("mobileNumber");
-        this.groupMemberships = Arrays.asList(JsonIterator.deserialize(rs.getString("groupMemberships"),String[].class));
+        String groupMemberships = rs.getString("groupMemberships");
+        String[] groups = groupMemberships.split(",");
+        this.groupMemberships = Arrays.asList(groups);
     }
 
     @JsonIgnore
@@ -131,9 +133,10 @@ public class UserProfile implements DatabaseObject {
         ps.setString(8, phoneNumberExtension);
         ps.setString(9, faxNumber);
         ps.setString(10, mobileNumber);
-        if (groupMemberships == null)
-            groupMemberships = new ArrayList<>();
-        ps.setString(11, JsonStream.serialize(groupMemberships));
+        if (!groupMemberships.isEmpty())
+            ps.setString(11, JsonStream.serialize(groupMemberships));
+        else
+            ps.setString(11, "");
         return ps;
     }
 
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 27c8fa74feb7373a089b25510fe01f751f79072c..84f4bcee52c7e22decb0dd9608bdf46301aa90cb 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
@@ -30,6 +30,7 @@ import jakarta.servlet.annotation.WebServlet;
 import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
 import net.jami.jams.common.annotations.ScopedServletMethod;
 import net.jami.jams.common.authentication.AuthenticationSourceType;
 import net.jami.jams.common.authmodule.AuthModuleKey;
@@ -40,13 +41,14 @@ import net.jami.jams.common.objects.user.UserProfile;
 import org.json.JSONObject;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Scanner;
 
 import static net.jami.jams.server.Server.userAuthenticationModule;
 import static net.jami.jams.server.Server.dataStore;
 
-
+@Slf4j
 @WebServlet("/api/admin/directory/entry")
 public class DirectoryEntryServlet extends HttpServlet {
 
@@ -71,6 +73,7 @@ public class DirectoryEntryServlet extends HttpServlet {
         userProfile.setFaxNumber(obj.get("faxNumber").toString());
         userProfile.setMobileNumber(obj.get("mobileNumber").toString());
         userProfile.setJamiId(obj.get("jamiId").toString());
+        userProfile.setGroupMemberships(new ArrayList<>());
 
         userAuthenticationModule.getAuthSources().get(new AuthModuleKey(realm, AuthenticationSourceType.LOCAL))
             .setUserProfile(userProfile);
@@ -97,7 +100,9 @@ public class DirectoryEntryServlet extends HttpServlet {
                 resp.setStatus(200);
             else resp.sendError(500,"could not update the users's profile information");
         }
-        catch(Exception e){}
+        catch(Exception e){
+            System.out.println(e);
+        }
 
     }