diff --git a/www/class/centreonLDAP.class.php b/www/class/centreonLDAP.class.php
index 693e25c55fef00bdf608bf0577d75e82182ad6cc..8b9924dd29aa6baef8d3b1d11ef715fb51eb0395 100644
--- a/www/class/centreonLDAP.class.php
+++ b/www/class/centreonLDAP.class.php
@@ -475,18 +475,27 @@ class CentreonLDAP
      */
     public function listUserForGroup($groupdn)
     {
-        if (trim($this->groupSearchInfo['member']) == '') {
+        $this->setErrorHandler();
+        if (trim($this->userSearchInfo['filter']) == '') {
+            restore_error_handler();
+            return array();
+        }
+        $groupdn = str_replace('\\', '\\\\', $groupdn);
+        $filter = '(&' . preg_replace('/%s/', '*', $this->userSearchInfo['filter']) .
+            '(' . $this->userSearchInfo['group'] . '=' . $this->replaceFilter($groupdn) . '))';
+        $result = @ldap_search($this->ds, $this->userSearchInfo['base_search'], $filter);
+        if (false === $result) {
+            restore_error_handler();
             return array();
         }
-        $group = $this->getEntry($groupdn, $this->groupSearchInfo['member']);
+        $entries = ldap_get_entries($this->ds, $result);
+        $nbEntries = $entries["count"];
         $list = array();
-        if (!isset($group[$this->groupSearchInfo['member']])) {
-            return $list;
-        } elseif (is_array($group[$this->groupSearchInfo['member']])) {
-            return $group[$this->groupSearchInfo['member']];
-        } else {
-            return array($group[$this->groupSearchInfo['member']]);
+        for ($i = 0; $i < $nbEntries; $i++) {
+            $list[] = $entries[$i]['dn'];
         }
+        restore_error_handler();
+        return $list;
     }
 
     /**
diff --git a/www/include/configuration/configObject/contact/DB-Func.php b/www/include/configuration/configObject/contact/DB-Func.php
index a9f359b77f62bbee0607a3a0627d2bde855c4581..9d059544b3128e41fcdcf43d2f628e042453f8a8 100644
--- a/www/include/configuration/configObject/contact/DB-Func.php
+++ b/www/include/configuration/configObject/contact/DB-Func.php
@@ -919,7 +919,10 @@ function insertLdapContactInDB($tmpContacts = array())
             }
             $pearDB->query(sprintf($sqlUpdate, $tmplSql));
         }
-        $listGroup = $ldap->listGroupsForUser($tmpContacts["dn"][$select_key]);
+        $listGroup = array();
+        if (false !== $ldap->connect()) {
+            $listGroup = $ldap->listGroupsForUser($tmpContacts["dn"][$select_key]);
+        }
         if (count($listGroup) > 0) {
             $query = "SELECT cg_id FROM contactgroup WHERE cg_name IN ('" . join("','", $listGroup) . "')";
             $res = $pearDB->query($query);