diff --git a/include/class_objects.inc b/include/class_objects.inc
index 8d8cf0233d67a3a5430b8f1a1e810ca039846261..2b9db93ba62685a53f21dcd8d7f25829f8df1c11 100644
--- a/include/class_objects.inc
+++ b/include/class_objects.inc
@@ -58,8 +58,9 @@ class objects
       if (count($types) > 1) {
         throw new FusionDirectoryException('Cannot evaluate ACL for several types');
       }
-      $infos = static::infos(reset($types));
-      $acl = $infos['aclCategory'].'/'.$infos['mainTab'];
+      $infos  = static::infos(reset($types));
+      $acl    = $infos['aclCategory'].'/'.$infos['mainTab'];
+      $tplAcl = $infos['aclCategory'].'/template';
     }
 
     $attrsAcls = array();
@@ -102,6 +103,7 @@ class objects
       $search_attrs = array_keys($attrs);
       if ($templateSearch) {
         $search_attrs[] = 'fdTemplateField';
+        $search_attrs[] = 'cn';
       }
     } else {
       $search_attrs = array($attrs);
@@ -146,6 +148,12 @@ class objects
           }
         }
         if ($templateSearch) {
+          if (
+              isset($fetched_attrs['cn']) &&
+              (!$checkAcl || (strpos($ui->get_permissions($key, $tplAcl, 'template_cn'), 'r') !== FALSE))
+            ) {
+            $result[$key]['cn'] = $fetched_attrs['cn'][0];
+          }
           $result[$key]['fdTemplateField'] = array();
           foreach ($fetched_attrs['fdTemplateField'] as $templateField) {
             $attr = explode(':', $templateField, 2)[0];