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 d7ecf1e59cb9392242cb7e9c6aa1798d0d8f13d6..95eea2e1564ca5254cb8b3ca92e98aa07a1b49c6 100644
--- a/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java
+++ b/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java
@@ -259,6 +259,10 @@ public class CertificatesManagerImpl implements CertificatesManager, MessageList
 
 	@Override
 	public boolean isHTMLTemplateAllowed() {
+		return pdfModule.isEnabled() || isPhantomAvailable();
+	}
+
+	private boolean isPhantomAvailable() {
 		if(phantomAvailable == null) {
 			phantomAvailable = CertificatePhantomWorker.checkPhantomJSAvailabilty();
 		}
@@ -988,6 +992,7 @@ public class CertificatesManagerImpl implements CertificatesManager, MessageList
 				.getResultList();
 	}
 	
+	@Override
 	public CertificateTemplate getTemplateById(Long key) {
 		String sb = "select template from certificatetemplate template where template.key=:templateKey";
 		List<CertificateTemplate> templates = dbInstance.getCurrentEntityManager()
@@ -1126,6 +1131,7 @@ public class CertificatesManagerImpl implements CertificatesManager, MessageList
 		return templateItem instanceof VFSLeaf ? (VFSLeaf)templateItem : null;
 	}
 	
+	@Override
 	public InputStream getDefaultTemplate() {
 		return CertificatesManager.class.getResourceAsStream("template.pdf");
 	}
diff --git a/src/main/java/org/olat/course/certificate/ui/UploadCertificateController.java b/src/main/java/org/olat/course/certificate/ui/UploadCertificateController.java
index 1feee7e7a56f9aee06ccd5719b5e8b8fd70611a5..05054d12c7c4a2de6c2e30f32b4fea14906e1ffb 100644
--- a/src/main/java/org/olat/course/certificate/ui/UploadCertificateController.java
+++ b/src/main/java/org/olat/course/certificate/ui/UploadCertificateController.java
@@ -196,7 +196,7 @@ public class UploadCertificateController extends FormBasicController {
 				formatEl.setVisible(allOk);
 				orientationEl.setVisible(allOk);
 			} else {
-				fileEl.setErrorKey("upload.error.no.phantomjs", null);
+				fileEl.setErrorKey("upload.error.no.html.templates", null);
 				allOk &= false;
 			}
 		} catch (Exception e) {
diff --git a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_de.properties
index 6af7fea5d386db4e218a78b70798eff7dfd7171d..00f52fcee1626cf391b594d8bd7076fde55e9fb6 100644
--- a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_de.properties
@@ -51,7 +51,7 @@ upload.error.encrypted=Die Vorlage darf nicht verschl\u00FCsselt sein.
 upload.unkown.error=Die Vorlage kann nicht gelesen werden.
 upload.error.noindex=Die ZIP-Datei enth\u00E4lt keine "index.html" Datei.
 upload.error.simplefonts=Der in den Feldern verwendete Font konnte nicht gefunden werden. Bitte benutzen Sie Standardfonts wie z.B. Helvetica, sowie die Acrobat Pro Software, um die Formularfelder zu erstellen.
-upload.error.no.phantomjs=PhantomJS ist nicht verf\u00FCgbar in PATH. HTML template k\u00F6nnen nicht benutzt werden.
+upload.error.no.html.templates=Es ist kein PDF Dienst aktiviert. HTML Vorlagen k\u00F6nnen deshalb nicht verwendet werden.
 upload.wrong.mimetype=Vorlagen k\u00F6nnen nur als ZIP-Datei oder im PDF-Vorlagenformat hochgeladen werden
 notifications.title=Neue Zertifikate in Kurs "{0}"
 notifications.desc={0} hat ein neues Zertifikat erhalten.
diff --git a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_en.properties
index d97f120c082ae6df28c6d5d38d5a31999a2617cc..1b1a1d14bff46a3e4ddd399e775f2fed847ad71a 100644
--- a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_en.properties
@@ -63,7 +63,7 @@ template.name=Name
 timelapse.after=after
 upload=Upload template
 upload.error.encrypted=The template cannot be encrypted.
-upload.error.no.phantomjs=PhantomJS is not in PATH. You cannot use HTML templates.
+upload.error.no.html.templates=No PDF service is enabled. Therefore you cannot use HTML templates.
 upload.error.noindex=The ZIP file doesn't include a "index.html" file.
 upload.error.simplefonts=The font(s) used in the form fields could not be found. Please use standard fonts such as e.g. Helvetica, as well as the Acrobat Pro Software in order to create the form fields.
 upload.wrong.mimetype=Templates may only be uploaded as either .zip file or in the correct PDF template format.
diff --git a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_fr.properties
index dc4183b41fcd1f81c54177a492e707e86b531bf1..5e89d6d85d735972020e9529aee9f8c14cb00026 100644
--- a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_fr.properties
@@ -62,7 +62,6 @@ template.name=Nom
 timelapse.after=apr\u00E8s
 upload=T\u00E9l\u00E9charger vers l'amont le mod\u00E8le
 upload.error.encrypted=Le mod\u00E8le ne peut pas \u00EAtre chiffr\u00E9 ou prot\u00E9g\u00E9 par un mot de passe
-upload.error.no.phantomjs=PhantomJS n'est pas disponible dans le "PATH". Les mod\u00E8les HTML ne seront donc pas disponible.
 upload.error.noindex=Le fichier ZIP ne contient pas de fichier "index.html".
 upload.error.simplefonts=Les polices d'\u00E9criture des champs de texte n'ont pas u \u00EAtre trouv\u00E9es. Utilisez s'il vous pla\u00EEt des polices standards comme Helvetica et Acrobat Pro pour cr\u00E9er les champs de texte.
 upload.title=T\u00E9l\u00E9charger vers l'amont le mod\u00E8le
diff --git a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_it.properties
index bb3e8bdedaaf4f7b2831ed918d6acc88216dd076..0a72e17262e1d2ae0bbf7c1f788181c0795f5309 100644
--- a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_it.properties
+++ b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_it.properties
@@ -62,7 +62,6 @@ template.name=Nome
 timelapse.after=dopo
 upload=Caricare un modello
 upload.error.encrypted=Il modello non pu\u00F2 essere crittografato.
-upload.error.no.phantomjs=PhantomJS non \u00E8 nel PATH. Non puoi utilizzare modelli HTML.
 upload.error.noindex=L'archivio ZIP non contiene un file "index.html".
 upload.error.simplefonts=Impossibile trovare i font utilizzati nei campi del modulo. Utilizzare font standard come Helvetica e utilizzare il software Acrobat Pro per creare i campi di testo.
 upload.title=Caricare modello
diff --git a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_pt_BR.properties
index 269a0e0aa86539a6dc77b634e4d74a8e99efde19..ffc04322f8d567471ad0269465307fced9ef1955 100644
--- a/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/course/certificate/ui/_i18n/LocalStrings_pt_BR.properties
@@ -62,7 +62,6 @@ template.name=Nome
 timelapse.after=ap\u00F3s
 upload=Enviar modelo
 upload.error.encrypted=O modelo n\u00E3o pode ser criptografado
-upload.error.no.phantomjs=PhantomJS n\u00E3o est\u00E1 no PATH. Voc\u00EA n\u00E3o pode usar modelos HTML.
 upload.error.noindex=O arquivo ZIP n\u00E3o inclui um arquivo "index.html".
 upload.error.simplefonts=A fonte usada nos campos n\u00E3o p\u00F4de ser encontrada. Por favor, use fontes padr\u00E3o, como Helvetica e o software Acrobat Pro para criar os campos do formul\u00E1rio.
 upload.title=Enviar modelo