diff --git a/src/main/java/org/olat/modules/video/ui/VideoChapterEditController.java b/src/main/java/org/olat/modules/video/ui/VideoChapterEditController.java
index 70d6cc9fc3364820494ef9bfcce4bf5fabfdce67..934ba043d7067e9ec7b8dc8467c6233d95197d44 100644
--- a/src/main/java/org/olat/modules/video/ui/VideoChapterEditController.java
+++ b/src/main/java/org/olat/modules/video/ui/VideoChapterEditController.java
@@ -88,6 +88,7 @@ public class VideoChapterEditController extends BasicController {
 		
 		//video preview
 		videoDisplayCtr = new VideoDisplayController(ureq, getWindowControl(), entry, false, false, false, false, null, false, false, null, false);
+		videoDisplayCtr.setTimeUpdateListener(true);
 		listenTo(videoDisplayCtr);	
 		videoDisplayCtr.reloadVideo(ureq);
 		mainVC.put("video", videoDisplayCtr.getInitialComponent());
diff --git a/src/main/java/org/olat/modules/video/ui/VideoDisplayController.java b/src/main/java/org/olat/modules/video/ui/VideoDisplayController.java
index 21d097eeef78429ed87842b8c5865e1c061ada4a..54d3d8c845befe85d2b9cc0f0b427d0bd3fb9e26 100644
--- a/src/main/java/org/olat/modules/video/ui/VideoDisplayController.java
+++ b/src/main/java/org/olat/modules/video/ui/VideoDisplayController.java
@@ -145,6 +145,10 @@ public class VideoDisplayController extends BasicController {
 		}
 	}
 	
+	public void setTimeUpdateListener(boolean enable) {
+		mainVC.contextPut("listenTimeUpdate", enable);
+	}
+	
 	private void initMediaElementJs() {
 		// load mediaelementjs player, speed and sourcechooser pluginss
 		String[] cssPath;
@@ -304,7 +308,7 @@ public class VideoDisplayController extends BasicController {
 				String currentTime = ureq.getHttpReq().getParameter("currentTime");
 				String duration = ureq.getHttpReq().getParameter("duration");
 				String src = ureq.getHttpReq().getParameter("src");
-				logDebug(cmd + " " + currentTime + " " + duration + " " + src, null);				
+				//logDebug(cmd + " " + currentTime + " " + duration + " " + src, null);
 				switch(cmd) {
 					case "play":
 						fireEvent(ureq, new VideoEvent(VideoEvent.PLAY, currentTime, duration));
@@ -318,6 +322,9 @@ public class VideoDisplayController extends BasicController {
 					case "ended":
 						fireEvent(ureq, new VideoEvent(VideoEvent.ENDED, currentTime, duration));
 						break;
+					case "timeupdate":
+						fireEvent(ureq, new VideoEvent(VideoEvent.TIMEUPDATE, currentTime, duration));
+						break;
 				}
 				updateGUIPreferences(ureq, src);
 			}
diff --git a/src/main/java/org/olat/modules/video/ui/VideoEvent.java b/src/main/java/org/olat/modules/video/ui/VideoEvent.java
index fb30bbe2369a5c0960e6ca53744ca7bd4bac40cc..d0a9bbdcd8a4e5a5b812709cec7f22a577a6d4cc 100644
--- a/src/main/java/org/olat/modules/video/ui/VideoEvent.java
+++ b/src/main/java/org/olat/modules/video/ui/VideoEvent.java
@@ -34,6 +34,7 @@ public class VideoEvent extends Event {
 	public static final String PAUSE = "pause";
 	public static final String SEEKED = "seeked";
 	public static final String ENDED = "ended";
+	public static final String TIMEUPDATE = "timeupdate";
 
 	private final String timeCode;
 	private final String duration;
diff --git a/src/main/java/org/olat/modules/video/ui/_content/video_run.html b/src/main/java/org/olat/modules/video/ui/_content/video_run.html
index 344692d36f813fc8b30874f4ef79ce7922a5e233..89a713b52e87b75354a9d7da57c73ce7b405fe79 100644
--- a/src/main/java/org/olat/modules/video/ui/_content/video_run.html
+++ b/src/main/java/org/olat/modules/video/ui/_content/video_run.html
@@ -61,6 +61,15 @@
 						$r.openNoResponseJavaScriptCommand("seeked"), 'currentTime', mediaElement.currentTime, 'src', mediaElement.src, 'duration', mediaElement.duration);
 					}
 		        }, false);
+		        
+		        #if($r.isTrue($listenTimeUpdate))
+		        mediaElement.addEventListener('timeupdate', function(e) {
+		        	if (!o_info.linkbusy) {
+						$r.openNoResponseJavaScriptCommand("timeupdate"), 'currentTime', mediaElement.currentTime, 'src', mediaElement.src, 'duration', mediaElement.duration);
+					}
+		        }, false);
+		        #end
+		        
 		        ## listen to end events, fired when movie is finished
 		        mediaElement.addEventListener('ended', function(e) {
 		        	if (!o_info.linkbusy) {