diff --git a/src/main/java/org/olat/modules/forms/ui/EvaluationFormExecutionController.java b/src/main/java/org/olat/modules/forms/ui/EvaluationFormExecutionController.java
index 6d09a5706cda52aee637720d46faec7bff7664f1..cabb65bb3d9b4277f9e036fa16709c47c0a3752b 100644
--- a/src/main/java/org/olat/modules/forms/ui/EvaluationFormExecutionController.java
+++ b/src/main/java/org/olat/modules/forms/ui/EvaluationFormExecutionController.java
@@ -33,6 +33,7 @@ import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.elements.FormLink;
 import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
 import org.olat.core.gui.components.form.flexible.impl.FormEvent;
+import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit;
 import org.olat.core.gui.components.link.Link;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
@@ -80,7 +81,7 @@ public class EvaluationFormExecutionController extends FormBasicController imple
 	private final Map<String, EvaluationFormElementHandler> handlerMap = new HashMap<>();
 	private final List<ExecutionFragment> fragments = new ArrayList<>();
 	private FormLink saveLink;
-	private FormLink doneLink;
+	private FormSubmit doneLink;
 	private DialogBoxController confirmDoneCtrl;
 	private PageFragmentsElementImpl fragmentsEl;
 
@@ -197,8 +198,7 @@ public class EvaluationFormExecutionController extends FormBasicController imple
 		boolean anonymous = !notAnonymous;
 		flc.contextPut("anonymous", Boolean.valueOf(showDoneButton && anonymous));
 
-		doneLink = uifactory.addFormLink("save.as.done", "save.as.done", null, flc, Link.BUTTON);
-		doneLink.setPrimary(true);
+		doneLink = uifactory.addFormSubmitButton("save.as.done", "save.as.done", formLayout);
 		saveLink = uifactory.addFormLink("save.intermediate", "save.intermediate", null, flc, Link.BUTTON);
 		showHideButtons();
 	}