diff --git a/bt5/erp5_credential/DocumentTemplateItem/portal_components/document.erp5.CredentialRequest.py b/bt5/erp5_credential/DocumentTemplateItem/portal_components/document.erp5.CredentialRequest.py
index 726392606a59e8636f3792067f85feeaaa73cef5..952470c34cd02e6123d28629ccdc3853807711db 100644
--- a/bt5/erp5_credential/DocumentTemplateItem/portal_components/document.erp5.CredentialRequest.py
+++ b/bt5/erp5_credential/DocumentTemplateItem/portal_components/document.erp5.CredentialRequest.py
@@ -75,6 +75,14 @@ class CredentialRequest(Ticket, EncryptedPasswordMixin):
           name_list.append(self.getFirstName())
         if self.getLastName() not in (None, ''):
           name_list.append(self.getLastName())
-        return ' '.join(name_list)
+        if name_list:
+          return ' '.join(name_list)
+        return self.getReference() or self.getId()
       else:
         return self.title
+
+    security.declareProtected(Permissions.AccessContentsInformation,
+                              'hasTitle')
+    def hasTitle(self):
+      return self.title or self.hasFirstName() or self.hasLastName()
+