diff --git a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java
index bd13f235dc46eea076a757efd82d3c2376a50df0..6e9e87685bfec0a435237578176834ca6d9251fc 100644
--- a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java
+++ b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java
@@ -21,7 +21,6 @@ package org.olat.course.nodes.iq;
 
 import java.io.File;
 import java.net.URI;
-import java.text.DateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -250,10 +249,10 @@ public class QTI21AssessmentRunController extends BasicController implements Gen
 			} else if(showResultsOnHomePage) {
 				Date startDate = config.getDateValue(IQEditController.CONFIG_KEY_RESULTS_START_DATE);
 				Date endDate = config.getDateValue(IQEditController.CONFIG_KEY_RESULTS_END_DATE);
-				String visibilityStartDate = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, ureq.getLocale()).format(startDate);
+				String visibilityStartDate = Formatter.getInstance(getLocale()).formatDate(startDate);
 				String visibilityEndDate = "-";
 				if(endDate != null) {
-					visibilityEndDate = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, ureq.getLocale()).format(endDate);
+					visibilityEndDate = Formatter.getInstance(getLocale()).formatDate(endDate);
 				}
 				String visibilityPeriod = getTranslator().translate("showResults.visibility", new String[] { visibilityStartDate, visibilityEndDate});
 				mainVC.contextPut("visibilityPeriod", visibilityPeriod);
@@ -272,9 +271,13 @@ public class QTI21AssessmentRunController extends BasicController implements Gen
 		if(showResultsActive) {
 			Date startDate = modConfig.getDateValue(IQEditController.CONFIG_KEY_RESULTS_START_DATE);
 			Date endDate = modConfig.getDateValue(IQEditController.CONFIG_KEY_RESULTS_END_DATE);
-			Date currentDate = new Date();
-			if(startDate != null && currentDate.after(startDate) && (endDate == null || currentDate.before(endDate))) {
+			if(startDate == null && endDate == null) {
 				isVisible = true;
+			} else {
+				Date currentDate = new Date();
+				if(startDate != null && currentDate.after(startDate) && (endDate == null || currentDate.before(endDate))) {
+					isVisible = true;
+				}
 			}
 		} else {
 			isVisible = true;
diff --git a/src/main/java/org/olat/course/nodes/iq/QTI21EditForm.java b/src/main/java/org/olat/course/nodes/iq/QTI21EditForm.java
index 151d41684164f2e0bdf6f89a304d19329b3a78b8..aec7a1df2e7d424987c45c8cf81d54f2c9be096a 100644
--- a/src/main/java/org/olat/course/nodes/iq/QTI21EditForm.java
+++ b/src/main/java/org/olat/course/nodes/iq/QTI21EditForm.java
@@ -259,6 +259,14 @@ public class QTI21EditForm extends FormBasicController {
 				allOk &= false;
 			}
 		}
+		
+		startDateElement.clearError();
+		if(showResultsDateDependentButton.isSelected(0)) {
+			if(startDateElement.getDate() == null) {
+				startDateElement.setErrorKey("form.legende.mandatory", null);
+				allOk &= false;
+			}
+		}
 
 		return allOk & super.validateFormLogic(ureq);
 	}
@@ -318,8 +326,10 @@ public class QTI21EditForm extends FormBasicController {
 		
 		modConfig.setBooleanEntry(IQEditController.CONFIG_KEY_ENABLESCOREINFO, scoreInfo.isSelected(0));
 		modConfig.setBooleanEntry(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS, showResultsDateDependentButton.isSelected(0));
+		
 		modConfig.setDateValue(IQEditController.CONFIG_KEY_RESULTS_START_DATE, startDateElement.getDate());
 		modConfig.setDateValue(IQEditController.CONFIG_KEY_RESULTS_END_DATE, endDateElement.getDate());
+		
 		modConfig.setBooleanEntry(IQEditController.CONFIG_KEY_RESULT_ON_HOME_PAGE, showResultsOnHomePage.isSelected(0));
 		
 		if(showResultsOnFinishEl.isAtLeastSelected(1) || showResultsOnHomePage.isSelected(0)) {