diff --git a/include/class_ldap.inc b/include/class_ldap.inc
index df420ee05f08ea6f973110e0f7f431ffc4201968..a1fbdfdaaca3d8fb435e8d79bba8a92a02f14439 100644
--- a/include/class_ldap.inc
+++ b/include/class_ldap.inc
@@ -1119,7 +1119,7 @@ class LDAP
     if ($this->error == 'Success') {
       return 0;
     } else {
-      return ldap_errno($this->cid);
+      return @ldap_errno($this->cid);
     }
   }
 
diff --git a/include/class_userinfo.inc b/include/class_userinfo.inc
index 855931de3600d198814ef96c18991408d409b145..583612c459f27ae4a96e380a89d731b28a2fc0df 100644
--- a/include/class_userinfo.inc
+++ b/include/class_userinfo.inc
@@ -87,6 +87,9 @@ class userinfo
     $ldap = $config->get_ldap_link();
     $ldap->cat($this->dn, ['*']);
     $attrs = $ldap->fetch(TRUE);
+    if (!$ldap->success()) {
+      throw new FusionDirectoryLdapError($this->dn, LDAP_SEARCH, $ldap->get_error(), $ldap->get_errno());
+    }
 
     $this->uid = $attrs['uid'][0];