diff --git a/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_de.properties
index 00d20f6129bbef88723e741476016fb6df1cd41b..45b9117aa90f22b7b5e3babe22db06a52705a622 100644
--- a/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_de.properties
@@ -137,8 +137,8 @@ lecture.preparation=Vorbereitung/Nachbereitung
 lecture.reminder.enabled=Erinnerungsfunktion einschalten
 lecture.reminder.period=Erinnerungsfrist
 lecture.rollcall.default.enabled=Anwesenheitskontrolle einschalten
-lecture.show.all.teachers=Anzeige in Kurse
-lecture.show.all.teachers.all=Lektionbl\u00F6cke alle Dozente
+lecture.show.all.teachers=Anzeige in Kursen
+lecture.show.all.teachers.all=Lektionbl\u00F6cke aller Dozenten
 lecture.show.all.teachers.mine=Nur meine Lektionblöcke
 lecture.start=Beginn
 lecture.status.enabled=Lektionen Status
diff --git a/src/main/java/org/olat/modules/video/VideoFormat.java b/src/main/java/org/olat/modules/video/VideoFormat.java
index 3f2177ac4f25f33ac0a2d8f30a45f44443af3564..fabdc68b75779802943508a0099cecd8b677fb6b 100644
--- a/src/main/java/org/olat/modules/video/VideoFormat.java
+++ b/src/main/java/org/olat/modules/video/VideoFormat.java
@@ -54,6 +54,19 @@ public enum VideoFormat {
 		return mimeType;
 	}
 	
+	public static VideoFormat secureValueOf(String val) {
+		if("zip".equals(val)) {
+			return VideoFormat.mp4;// why was zip a format???
+		}
+		
+		for(VideoFormat format:values()) {
+			if(format.name().equals(val)) {
+				return format;
+			}
+		}
+		return null;
+	}
+	
 	public static VideoFormat valueOfFilename(String filename) {
 		String extension = FilenameUtils.getExtension(filename);
 		if("mp4".equalsIgnoreCase(extension) || "m4v".equalsIgnoreCase(extension) || "mov".equalsIgnoreCase(extension)) {
diff --git a/src/main/java/org/olat/modules/video/manager/VideoManagerImpl.java b/src/main/java/org/olat/modules/video/manager/VideoManagerImpl.java
index 480afe1d64bcb8ca2f73aad08a2216d12becbfa8..81a9018d69b5eb4283f8b532ee484bdc08ef7626 100644
--- a/src/main/java/org/olat/modules/video/manager/VideoManagerImpl.java
+++ b/src/main/java/org/olat/modules/video/manager/VideoManagerImpl.java
@@ -71,7 +71,7 @@ import org.olat.core.util.vfs.VFSItem;
 import org.olat.core.util.vfs.VFSLeaf;
 import org.olat.core.util.vfs.VFSManager;
 import org.olat.core.util.vfs.VFSStatus;
-import org.olat.core.util.vfs.filters.VFSItemSuffixFilter;
+import org.olat.core.util.vfs.filters.VFSItemFilter;
 import org.olat.core.util.xml.XStreamHelper;
 import org.olat.fileresource.FileResourceManager;
 import org.olat.fileresource.types.ResourceEvaluation;
@@ -221,7 +221,7 @@ public class VideoManagerImpl implements VideoManager {
 	@Override
 	public void removeTrack(OLATResource videoResource, String lang){
 		VFSContainer vfsContainer = getMasterContainer(videoResource);
-		for (VFSItem item : vfsContainer.getItems(new VFSItemSuffixFilter(new String[]{FILETYPE_SRT}))) {
+		for (VFSItem item : vfsContainer.getItems(new TrackFilter())) {
 			if (item.getName().contains(lang)) {
 				item.delete();
 			}
@@ -235,7 +235,8 @@ public class VideoManagerImpl implements VideoManager {
 	public Map<String, VFSLeaf> getAllTracks(OLATResource videoResource) {
 		Map<String, VFSLeaf> tracks = new HashMap<>();
 		VFSContainer vfsContainer = getMasterContainer(videoResource);
-		for (VFSItem item : vfsContainer.getItems(new VFSItemSuffixFilter(new String[]{FILETYPE_SRT}))) {
+		List<VFSItem> trackItems = vfsContainer.getItems(new TrackFilter());
+		for (VFSItem item : trackItems) {
 			String itemname = item.getName();
 			String key = itemname.substring(itemname.indexOf('_') + 1, itemname.indexOf('.'));
 			tracks.put(key, resolveFromMasterContainer(videoResource, itemname));
@@ -1161,5 +1162,18 @@ public class VideoManagerImpl implements VideoManager {
 		LocalFileImpl videoFile = (LocalFileImpl) masterContainer.resolve(FILENAME_VIDEO_MP4);	
 		return videoFile != null && videoFile.exists();
 	}
-
+	
+	private static class TrackFilter implements VFSItemFilter {
+		@Override
+		public boolean accept(VFSItem vfsItem) {
+			if(vfsItem instanceof VFSLeaf) { 
+				String name = vfsItem.getName().toLowerCase();
+				int idx = name.lastIndexOf('.');
+				if (idx >= 0 && !name.startsWith(".")) { 
+					return VideoManager.FILETYPE_SRT.equals(name.substring(idx + 1));
+				}
+			}
+			return false;
+		}
+	}
 }
diff --git a/src/main/java/org/olat/modules/video/model/VideoMetaImpl.java b/src/main/java/org/olat/modules/video/model/VideoMetaImpl.java
index 914841c13d59d7ff010f70a1e307dd90b919a6da..d88a1409d554fdaf0e03b9f62877ba7347da4e87 100644
--- a/src/main/java/org/olat/modules/video/model/VideoMetaImpl.java
+++ b/src/main/java/org/olat/modules/video/model/VideoMetaImpl.java
@@ -176,7 +176,7 @@ public class VideoMetaImpl implements VideoMeta, Persistable, ModifiedInfo {
 	@Override
 	public VideoFormat getVideoFormat() {
 		if(StringHelper.containsNonWhitespace(format)) {
-			return VideoFormat.valueOf(format);
+			return VideoFormat.secureValueOf(format);
 		}
 		return null;
 	}