diff --git a/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java b/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java
index 148233406a88205efdfd650a67e0a2c40c7f8dbd..06da1556b3cebce8b1fe3785eb676f2d0d571aad 100644
--- a/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java
+++ b/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java
@@ -856,11 +856,10 @@ public class CertificatesManagerImpl implements CertificatesManager, MessageList
 		  .append(entry.getDisplayname()).append("_")
 		  .append(Formatter.formatShortDateFilesystem(dateCertification));
 		String filename = FileUtils.normalizeFilename(sb.toString()) + ".pdf";
-		// External URL to certificate. See also DownloadCertificateCellRenderer.getUrl();
+		// External URL to certificate as short as possible for QR-Code
 		sb = new StringBuilder();
 		sb.append(Settings.getServerContextPathURI()).append("/certificate/")
-		  .append(certificate.getUuid()).append("/")
-		  .append(filename);
+		  .append(certificate.getUuid()).append("/certificate.pdf");
 		String certUrl = sb.toString();
 		
 		if(template == null || template.getPath().toLowerCase().endsWith("pdf")) {