diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java
index 051262b4cdcf90ec23140cbdb1a86ca60ee7b168..0187455754cc7f0a4acbe8ba9dc0475529c500d7 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java
@@ -149,6 +149,7 @@ public class JSDateChooser extends TextElementImpl implements DateChooser {
 	@Override
 	public void evalFormRequest(UserRequest ureq) {
 		super.evalFormRequest(ureq);
+		if(!isEnabled()) return;
 		
 		try {
 			String receiverId = component.getFormDispatchId();
diff --git a/src/main/java/org/olat/core/util/CodeHelper.java b/src/main/java/org/olat/core/util/CodeHelper.java
index 0553412c201e4afe26f1692929c66133742b0dda..05279b53c923e2e4ac5aa96af9e4ecf37d163eea 100644
--- a/src/main/java/org/olat/core/util/CodeHelper.java
+++ b/src/main/java/org/olat/core/util/CodeHelper.java
@@ -83,9 +83,7 @@ public class CodeHelper {
 	}
 	
 	public static long getUniqueIDFromString(String base){
-		int code = Math.abs(base.hashCode());
-		Long l = new Long(code);
-		return l;
+		return Math.abs(base.hashCode());
 	}
 	
 	/**
diff --git a/src/main/java/org/olat/course/assessment/manager/AssessmentModeCoordinationServiceImpl.java b/src/main/java/org/olat/course/assessment/manager/AssessmentModeCoordinationServiceImpl.java
index 9fec4bd44c49779bda4b9bd77cdf311f56bcd930..ea5c8491c06c1a7bae3c43547d2992f094617cda 100644
--- a/src/main/java/org/olat/course/assessment/manager/AssessmentModeCoordinationServiceImpl.java
+++ b/src/main/java/org/olat/course/assessment/manager/AssessmentModeCoordinationServiceImpl.java
@@ -340,16 +340,14 @@ public class AssessmentModeCoordinationServiceImpl implements AssessmentModeCoor
 		cal.setTime(now);
 		long nowInMillis = cal.getTimeInMillis();
 		
-		if(nowInMillis > programmedBeginInMillis) {
-			Date end = mode.getEnd();
-			cal.setTime(end);
-			cal.add(Calendar.MILLISECOND, (int)(nowInMillis - programmedBeginInMillis));
-			
-			Date movedEnd = cal.getTime();
-			((AssessmentModeImpl)mode).setEnd(movedEnd);
-			Date endWithFollowupTime = assessmentModeManager.evaluateFollowupTime(movedEnd, mode.getFollowupTime());
-			((AssessmentModeImpl)mode).setEndWithFollowupTime(endWithFollowupTime);
-		}	
+		Date end = mode.getEnd();
+		cal.setTime(end);
+		cal.add(Calendar.MILLISECOND, (int)(nowInMillis - programmedBeginInMillis));
+		
+		Date movedEnd = cal.getTime();
+		((AssessmentModeImpl)mode).setEnd(movedEnd);
+		Date endWithFollowupTime = assessmentModeManager.evaluateFollowupTime(movedEnd, mode.getFollowupTime());
+		((AssessmentModeImpl)mode).setEndWithFollowupTime(endWithFollowupTime);	
 	}
 	
 	private void sendEvent(String cmd, AssessmentMode mode, Set<Long> assessedIdentityKeys) {
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentModeOverviewListController.java b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentModeOverviewListController.java
index 3c6532738c0bb2c61565dda04b1ef787f7a39ce9..9843ce8601c6fb47c2d5221fbfb314444a20f652 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentModeOverviewListController.java
+++ b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentModeOverviewListController.java
@@ -189,9 +189,10 @@ public class AssessmentModeOverviewListController extends FormBasicController im
 		Calendar cal = Calendar.getInstance();
 		long now = cal.getTimeInMillis();
 		cal.setTime(mode.getEnd());
-		boolean endSoon = ((cal.getTimeInMillis() - now) < (5l * 60l * 1000l))
+		long endInMillseconds = cal.getTimeInMillis() - now;
+		boolean endSoon = (endInMillseconds < (5l * 60l * 1000l))
 				&& (mode.getStatus() == Status.assessment || mode.getStatus() == Status.followup);
-		AssessmentModeOverviewRow row = new AssessmentModeOverviewRow(mode, isToday, endSoon);
+		AssessmentModeOverviewRow row = new AssessmentModeOverviewRow(mode, isToday, endSoon, endInMillseconds);
 		
 		LectureBlock block = mode.getLectureBlock();
 		boolean allowToStartStop = assessmentCallback.canStartStopAllAssessments()
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentModeOverviewRow.java b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentModeOverviewRow.java
index d96fb724c92bbd7591c346e847f57ffad424944c..50c14a4a295eba3b3fccbf96082c33bb0d84cb09 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentModeOverviewRow.java
+++ b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentModeOverviewRow.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.olat.core.gui.components.form.flexible.elements.FormLink;
+import org.olat.core.util.CodeHelper;
 import org.olat.course.assessment.AssessmentMode;
 
 /**
@@ -36,14 +37,22 @@ public class AssessmentModeOverviewRow {
 	private FormLink actionButton;
 	private final List<FormLink> elementLinks = new ArrayList<>();
 	
+	private final String id;
 	private final boolean today;
 	private final boolean endSoon;
+	private final long endInMilliSeconds;
 	private final AssessmentMode assessmentMode;
 	
-	public AssessmentModeOverviewRow(AssessmentMode assessmentMode, boolean today, boolean endSoon) {
+	public AssessmentModeOverviewRow(AssessmentMode assessmentMode, boolean today, boolean endSoon, long endInMilliSeconds) {
 		this.today = today;
 		this.endSoon = endSoon;
 		this.assessmentMode = assessmentMode;
+		this.endInMilliSeconds = endInMilliSeconds;
+		id = "m" + CodeHelper.getRAMUniqueID();
+	}
+	
+	public String getId() {
+		return id;
 	}
 	
 	public String getName() {
@@ -58,6 +67,10 @@ public class AssessmentModeOverviewRow {
 		return endSoon;
 	}
 	
+	public long getEndInMilliSeconds() {
+		return endInMilliSeconds;
+	}
+	
 	public AssessmentMode getAssessmentMode() {
 		return assessmentMode;
 	}
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_content/assessment_mode_overview_row.html b/src/main/java/org/olat/course/assessment/ui/tool/_content/assessment_mode_overview_row.html
index bd79f34824c233eb8ca52804d8ac2ad857fd47c1..266a9d54b4067a000e2cc38e11d7d94e9af90560 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/_content/assessment_mode_overview_row.html
+++ b/src/main/java/org/olat/course/assessment/ui/tool/_content/assessment_mode_overview_row.html
@@ -1,4 +1,4 @@
-<div class="o_assessment_mode_row #if($r.isTrue(${row.isEndSoon()})) o_assessment_end_soon #end #if($r.isTrue(${row.isToday()})) o_assessment_today #end clearfix">
+<div id="$row.id" class="o_assessment_mode_row #if($r.isTrue(${row.isEndSoon()})) o_assessment_end_soon #end #if($r.isTrue(${row.isToday()})) o_assessment_today #end clearfix">
 	<h4>$r.escapeHtml($row.name) <small>${helper.getBeginEndDate($row.assessmentMode)}</small></h4>
 	<p>$r.translate("table.header.assessmentStatus"): <span><i class="o_icon o_icon-fw $helper.getCssClass($row.assessmentMode)"> </i> ${helper.getStatusLabel($row.assessmentMode)}</span> #if($r.isNotNull($row.actionButtonName)) $r.render($row.actionButton) #end</p>
 	#set($elementLinks = ${row.getElementLinkNames()})
@@ -9,4 +9,13 @@
 		#end
 	</ul>
 	#end
+	#if($row.endInMilliSeconds > 300000)
+	<script>
+	jQuery(function() {
+		setTimeout(function() {
+			jQuery('#${row.id}').addClass('o_assessment_end_soon');
+		}, ($row.endInMilliSeconds - 300000));
+	});
+	</script>
+	#end
 </div>
\ No newline at end of file