diff --git a/ad-connector/src/main/java/net/jami/jams/ad/connector/ADConnector.java b/ad-connector/src/main/java/net/jami/jams/ad/connector/ADConnector.java
index 0b270ced2c0e647c4310554f1058a180161add2f..29df5c557b8d74f506c4001ba11cf4e036f6555a 100644
--- a/ad-connector/src/main/java/net/jami/jams/ad/connector/ADConnector.java
+++ b/ad-connector/src/main/java/net/jami/jams/ad/connector/ADConnector.java
@@ -67,7 +67,7 @@ public class ADConnector implements AuthenticationSource {
     }
 
     @Override
-    public UserProfile getUserProfile(String queryString, String field) {
+    public UserProfile[] getUserProfile(String queryString, String field) {
         return userProfileService.getUserProfile(queryString,field);
     }
 
diff --git a/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java b/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
index c686d80783132b8cb799ac1745e30153be7e4720..1bac115c9f81d5aa4f05b1a3a1324522eae96586 100644
--- a/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
+++ b/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
@@ -32,8 +32,9 @@ public class UserProfileService {
         fieldMap.put("o","Organization");
     }
 
-    public UserProfile getUserProfile(String queryString, String field){
+    public UserProfile[] getUserProfile(String queryString, String field){
         Endpoint endpoint = ADConnector.getConnection();
+        UserProfile[] profiles = null;
         try{
             QueryRequest queryRequest = buildRequest(endpoint);
             Sentence sentence = null;
@@ -51,8 +52,12 @@ public class UserProfileService {
             try(Connector connector = new Connector(queryRequest)) {
                 queryResponse = connector.execute();
             }
-            List<Field> fields = queryResponse.getAll().stream().map(EntityResponse::getValue).collect(Collectors.toList()).get(0);
-            return profileFromResponse(fields);
+            List<List<Field>> results = queryResponse.getAll().stream().map(EntityResponse::getValue).collect(Collectors.toList());
+            if(results.size() > 0) profiles = new UserProfile[results.size()];
+            for(int i=0;i< profiles.length; i++){
+                profiles[i] = profileFromResponse(results.get(i));
+            }
+            return profiles;
         }
         catch (Exception e){
             log.error("Could not find entity with specified parameters.");
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 c8acdbe60ea623b4a9ce9eed0ccb454120c54d9c..76ecca9214d95c00fde450d04afb63fcf59eb046 100644
--- a/datastore/src/main/java/net/jami/datastore/main/DataStore.java
+++ b/datastore/src/main/java/net/jami/datastore/main/DataStore.java
@@ -47,7 +47,7 @@ public class DataStore implements AuthenticationSource {
     }
 
     @Override
-    public UserProfile getUserProfile(String queryString, String field) {
+    public UserProfile[] getUserProfile(String queryString, String field) {
         return null;
     }
 
diff --git a/jams-common/src/main/java/net/jami/jams/common/authentication/AuthenticationSource.java b/jams-common/src/main/java/net/jami/jams/common/authentication/AuthenticationSource.java
index d2c95a25827bbc58d1f9df1fa8a379eb1c19084a..ab1e1b5c588beb342a5d3e4a1a89b1cc4561d701 100644
--- a/jams-common/src/main/java/net/jami/jams/common/authentication/AuthenticationSource.java
+++ b/jams-common/src/main/java/net/jami/jams/common/authentication/AuthenticationSource.java
@@ -6,7 +6,7 @@ import net.jami.jams.common.objects.user.UserProfile;
 public interface AuthenticationSource {
 
     boolean createUser(User user);
-    UserProfile getUserProfile(String queryString, String field);
+    UserProfile[] getUserProfile(String queryString, String field);
     boolean authenticate(String username, String password);
     AuthenticationSourceInfo getInfo();
     boolean testConfiguration(String configuration);
diff --git a/jams-server/src/main/java/net/jami/jams/server/Server.java b/jams-server/src/main/java/net/jami/jams/server/Server.java
index ecb00bbb3648fbad38724db71e7582868d4b4ae7..49c01881c622144281919fd76c940119cd9e55d2 100644
--- a/jams-server/src/main/java/net/jami/jams/server/Server.java
+++ b/jams-server/src/main/java/net/jami/jams/server/Server.java
@@ -57,12 +57,12 @@ public class Server {
         try {
             InputStream path;
             ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-            path = classLoader.getResourceAsStream("ldapconfig.json");
-            userAuthenticationModule.attachLDAPAuthSource(new String(path.readAllBytes()));
-            UserProfile userProfile = userAuthenticationModule.getAuthenticationSources()
-                    .get(new AuthModuleKey("savoirfairelinux", AuthenticationSourceType.LDAP))
+            path = classLoader.getResourceAsStream("adsampleconfig.json");
+            userAuthenticationModule.attachADAuthSource(new String(path.readAllBytes()));
+            UserProfile[] userProfile = userAuthenticationModule.getAuthenticationSources()
+                    .get(new AuthModuleKey("SAVOIRFAIRELINU", AuthenticationSourceType.AD))
                     .getUserProfile("Sidokhine","FULL_TEXT_NAME");
-            System.out.println(userProfile);
+            System.out.println(userProfile[0]);
         } catch (Exception e) {
             log.error("Could not load and inject active directory connector with error: " + e.toString());
         }
diff --git a/ldap-connector/src/main/java/net/jami/jams/ldap/connector/LDAPConnector.java b/ldap-connector/src/main/java/net/jami/jams/ldap/connector/LDAPConnector.java
index 194212863ac904972a05a6e5d29a1405bc2fdf68..a1d380908ef857ed7ac0782521db6210ff8e0e3b 100644
--- a/ldap-connector/src/main/java/net/jami/jams/ldap/connector/LDAPConnector.java
+++ b/ldap-connector/src/main/java/net/jami/jams/ldap/connector/LDAPConnector.java
@@ -45,7 +45,7 @@ public class LDAPConnector implements AuthenticationSource {
     }
 
     @Override
-    public UserProfile getUserProfile(String queryString, String field) {
+    public UserProfile[] getUserProfile(String queryString, String field) {
         return userProfileService.getUserProfile(queryString,field);
     }
 
diff --git a/ldap-connector/src/main/java/net/jami/jams/ldap/connector/service/UserProfileService.java b/ldap-connector/src/main/java/net/jami/jams/ldap/connector/service/UserProfileService.java
index faff16aaf2d5a234e092829f27c54afcc072fcce..1f1f04710a7cedb85b9eae15a5aac2d74b88afce 100644
--- a/ldap-connector/src/main/java/net/jami/jams/ldap/connector/service/UserProfileService.java
+++ b/ldap-connector/src/main/java/net/jami/jams/ldap/connector/service/UserProfileService.java
@@ -29,7 +29,8 @@ public class UserProfileService {
         this.connectionFactory = connectionFactory;
     }
 
-    public UserProfile getUserProfile(String queryString, String field){
+    public UserProfile[] getUserProfile(String queryString, String field){
+        UserProfile[] profiles = null;
         Connection connection = null;
         try {
             connection = connectionFactory.getConnection();
@@ -37,8 +38,11 @@ public class UserProfileService {
                 connection.open();
                 SearchOperation search = new SearchOperation(connectionFactory);
                 SearchResponse res = search.execute(buildRequest(queryString,field));
-                if (res.getEntries().size() > 0) return profileFromResponse(res.getEntry());
-                return null;
+                if (res.getEntries().size() > 0) profiles = new UserProfile[res.getEntries().size()];
+                for(int i=0; i< profiles.length; i++){
+                    profiles[i] = profileFromResponse(res.getEntry());
+                }
+                return profiles;
             } catch (Exception e) {
                 log.error("Could not search LDAP directory with error " + e.toString());
                 return null;