diff --git a/lib/SimpleSAML/Auth/LDAP.php b/lib/SimpleSAML/Auth/LDAP.php
index dc2aaa3092e92694c4779929fb3612c07fc7eded..61ff47799bb5f84d51ee790ac9fb0949c2004ab7 100644
--- a/lib/SimpleSAML/Auth/LDAP.php
+++ b/lib/SimpleSAML/Auth/LDAP.php
@@ -141,18 +141,21 @@ class SimpleSAML_Auth_LDAP {
 					return new SimpleSAML_Error_AuthSource('ldap', $description);
 			}
 		}else{
+			if ($errNo !== 0) {
+				$description .= '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')';
+			}
 			switch ($errNo){
 				case 0x20://LDAP_NO_SUCH_OBJECT
-					SimpleSAML_Logger::warning($description . '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')');
+					SimpleSAML_Logger::warning($description);
 					return new SimpleSAML_Error_UserNotFound($description, $errNo);
 				case 0x31://LDAP_INVALID_CREDENTIALS
-					SimpleSAML_Logger::info($description . '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')');
+					SimpleSAML_Logger::info($description);
 					return new SimpleSAML_Error_InvalidCredential($description, $errNo);
 				case -1://NO_SERVER_CONNECTION
-					SimpleSAML_Logger::error($description . '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')');
+					SimpleSAML_Logger::error($description);
 					return new SimpleSAML_Error_AuthSource('ldap', $description);
 				default:
-					SimpleSAML_Logger::error($description . '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')');
+					SimpleSAML_Logger::error($description);
 					return new SimpleSAML_Error_AuthSource('ldap', $description);
 			}
 		}