diff --git a/include/class_templateHandling.inc b/include/class_templateHandling.inc
index 1fb4021284399ae197177ece2ce9d429329fc2db..4ec050d51929ec5cae5913d415c6008826b1e294 100644
--- a/include/class_templateHandling.inc
+++ b/include/class_templateHandling.inc
@@ -239,12 +239,15 @@ class templateHandling
       foreach ($generator as $value) {
         $filter = '('.ldap_escape_f($unique).'='.ldap_escape_f($value).')';
         $ldap->search($filter, ['dn']);
-        if (
-          ($ldap->count() == 0) ||
-          (($target !== NULL) && ($ldap->count() == 1) && ($ldap->getDN() == $target))
-          ) {
+        if ($ldap->count() == 0) {
           return $value;
         }
+        if (($target !== NULL) && ($ldap->count() == 1)) {
+          $attrs = $ldap->fetch();
+          if ($attrs['dn'] == $target) {
+            return $value;
+          }
+        }
       }
     }