diff --git a/include/class_ldap.inc b/include/class_ldap.inc
index df4418e12f1c2de7b13f3f5667e518f147bc5bb4..0f489ac0f241d9a070a2ce1bad392b18279753ab 100644
--- a/include/class_ldap.inc
+++ b/include/class_ldap.inc
@@ -963,9 +963,9 @@ class LDAP
   /*!
    * \brief Get the error
    */
-  function get_error ()
+  function get_error ($details = TRUE)
   {
-    if ($this->error == 'Success') {
+    if (($this->error == 'Success') || !$details) {
       return $this->error;
     } else {
       $adderror = $this->get_additional_error();
diff --git a/include/class_userinfo.inc b/include/class_userinfo.inc
index 61a781246be1a2b5a0adfdc76d2c64016aab5740..e1995ebaaac3d4caf25680f54680e4665341a9c2 100644
--- a/include/class_userinfo.inc
+++ b/include/class_userinfo.inc
@@ -1145,7 +1145,7 @@ class userinfo
     $ldap = $config->get_ldap_link();
     if (!$ldap->success()) {
       msg_dialog::display(_('LDAP error'),
-          msgPool::ldaperror($ldap->get_error(), '', LDAP_AUTH),
+          msgPool::ldaperror($ldap->get_error(FALSE), '', LDAP_AUTH),
           FATAL_ERROR_DIALOG);
       exit();
     }
@@ -1229,10 +1229,10 @@ class userinfo
     );
     $ldap = new ldapMultiplexer($ldapObj);
     if (!$ldap->success()) {
-      if ($ldap->get_error() == 'changeAfterReset') {
+      if ($ldap->get_error(FALSE) == 'changeAfterReset') {
         $ui->forcePasswordChange = TRUE;
       } else {
-        throw new LoginFailureException($ldap->get_error());
+        throw new LoginFailureException($ldap->get_error(FALSE));
       }
     }