diff --git a/include/class_filterLDAP.inc b/include/class_filterLDAP.inc
index a887dd0a643bba9235d0451dccdb26645606f66b..5e677b4bbb7e8eac5a5a55e11a6ec2ac4f6ea9e7 100644
--- a/include/class_filterLDAP.inc
+++ b/include/class_filterLDAP.inc
@@ -122,6 +122,7 @@ class filterLDAP
     // Do search for every base
     $result = array();
     $limit_exceeded = FALSE;
+    $ui->getSizeLimitHandler()->setLimitExceeded(FALSE);
 
     foreach ($bases as $base => $dnFilters) {
       // Break if the size limit is exceeded
@@ -140,7 +141,7 @@ class filterLDAP
       $ldap->search('(&'.$filter.$dnFilter.')', $attributes, $scope);
 
       // Check for size limit exceeded messages for GUI feedback
-      if (preg_match("/size limit/i", $ldap->get_error())) {
+      if ($ldap->hitSizeLimit()) {
         $ui->getSizeLimitHandler()->setLimitExceeded();
         $limit_exceeded = TRUE;
       }
diff --git a/include/class_ldap.inc b/include/class_ldap.inc
index 038a697d07862d5427cbd0a9f90a0efeff28f7f2..eb0ebb9893eee29962d75d9d50e4f2a2866a80e1 100644
--- a/include/class_ldap.inc
+++ b/include/class_ldap.inc
@@ -902,6 +902,31 @@ class LDAP
     }
   }
 
+  /*!
+   * \brief Get the errno
+   *
+   * Must be run right after the ldap request
+   */
+  function get_errno()
+  {
+    if ($this->error == 'Success') {
+      return 0;
+    } else {
+      return ldap_errno($this->cid);
+    }
+  }
+
+  /*!
+   * \brief Check if the search hit the size limit
+   *
+   * Must be run right after the search
+   */
+  function hitSizeLimit()
+  {
+    /* LDAP_SIZELIMIT_EXCEEDED 0x04 */
+    return ($this->get_errno() == 0x04);
+  }
+
   function get_credentials($url, $referrals = NULL)
   {
     $ret    = array();
diff --git a/include/class_ldapSizeLimit.inc b/include/class_ldapSizeLimit.inc
index 01fe97de4b229babc8701017fbd11d5e98b57a89..32d3666fb721c0ef9b634097e8f9d454d3a3b9b5 100644
--- a/include/class_ldapSizeLimit.inc
+++ b/include/class_ldapSizeLimit.inc
@@ -44,7 +44,7 @@ class ldapSizeLimit
     global $config;
 
     $this->sizeLimit  = $config->get_cfg_value('LDAPSIZELIMIT', 200);
-    $this->ignore     = preg_match('/true/i', $config->get_cfg_value('LDAPSIZEIGNORE'));
+    $this->ignore     = preg_match('/true/i', $config->get_cfg_value('LDAPSIZEIGNORE', 'TRUE'));
   }
 
   function getSizeLimit()