diff --git a/server.py b/server.py
index 95b1c131666ac523553ba464ec341b079bd8428a..25ef7ee71f22429ddec102375c2718c152f22c6a 100644
--- a/server.py
+++ b/server.py
@@ -432,14 +432,14 @@ def lecture(id, course=None, courseid=None):
 	if not checkperm(perms):
 		mode, text = permdescr(perms)
 		if mode == 'rwth':
-			flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_rwthauth')+'">Hier authorisieren</a>.')
+			flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_rwthauth')+'">Hier authorisieren</a>.', category='player')
 		elif mode == 'l2p':
 			if 'l2p_courses' in session:
-				flash(text+'. Du bist kein Teilnehmer des L2P-Kurses! <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Kurse aktualisieren</a>.')
+				flash(text+'. Du bist kein Teilnehmer des L2P-Kurses! <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Kurse aktualisieren</a>.', category='player')
 			else:
-				flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Hier authorisieren</a>.')
+				flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Hier authorisieren</a>.', category='player')
 		else:
-			flash(text+'.')
+			flash(text+'.', category='player')
 	return render_template('embed.html' if request.endpoint == 'embed' else 'lecture.html', course=courses[0], lecture=lecture, videos=videos, chapters=chapters)
 
 
diff --git a/templates/base.html b/templates/base.html
index d62d543ff99ed819448919da2cb0d7ce8f661fe3..6b5e709e8f85de163c21760bef2e89911a6ac56e 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -112,7 +112,7 @@
 				{% else %}
 				<div class="col-xs-12 col-md-offset-{{ page_border }} col-md-{{ 12-(2*page_border) }}">
 				{% endif %}
-					{% for msg in get_flashed_messages() %}
+					{% for msg in get_flashed_messages(category_filter=["message"]) %}
 					<div class="hidden-print alert alert-danger" role="alert">{{ msg|safe }}</div>
 					{% endfor %}
 					{% for msg in get_announcements(min_announcement_level) if (not request.cookies['alert-info-'+msg.id|string]) %}
diff --git a/templates/embed.html b/templates/embed.html
index 0871eced2af0004a6edbfd65b2d707322e68c03b..36d3065ad825f84477e71d7e13daa4b955145e28 100644
--- a/templates/embed.html
+++ b/templates/embed.html
@@ -8,7 +8,7 @@
 {% block content %}
 <div class="row">
 	<div class="col-xs-12" style="padding: 0px">
-		{{ player(lecture, videos) }}
+		{{ player(lecture, videos, get_flashed_messages()) }}
 	</div>
 </div>
 
diff --git a/templates/lecture.html b/templates/lecture.html
index 71c4b1246b492aa4f2428b77810d66cc55df6841..43fd65eceec27f7ef4592b83673a3d47b2834742 100644
--- a/templates/lecture.html
+++ b/templates/lecture.html
@@ -34,7 +34,7 @@
 		</div>
 		<div class="row">
 			<div class="col-xs-12" style="padding: 0px">
-				{{ player(lecture, videos) }}
+				{{ player(lecture, videos, get_flashed_messages(category_filter=['player'])) }}
 			</div>
 			{% if ismod() %}
 				<div class="col-xs-12" style="padding-top: 10px;">
diff --git a/templates/macros.html b/templates/macros.html
index 9395650c02de2d2d6b1bebb617f30b91ff1ed312..63adf26819b6a9edb3a55a63e09fd73f1f324cd4 100644
--- a/templates/macros.html
+++ b/templates/macros.html
@@ -45,7 +45,7 @@
 
 {% endmacro %}
 
-{% macro player(lecture, videos) %}
+{% macro player(lecture, videos, msgs) %}
 <video id="videoplayer" style="width: 100%" class="video-js vjs-default-skin vjs-big-play-centered" width="640" height="320" controls data-wasnotplayed="1"  data-setup='{ "plugins" : {"hotkeys": {"seekStep": 15, "enableVolumeScroll": false, "alwaysCaptureHotkeys": true}, "videoJsResolutionSwitcher": { "ui": true, "default": "720p", "dynamicLabel": true } }, "customControlsOnMobile": true, "playbackRates": [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, 4] }'>
 	{% for v in videos|sort(attribute='player_prio', reverse=True) %}
 		<source type="{{ v.mimetype }}" src="{{ config.VIDEOPREFIX }}/{{ v.path }}" label="{{ v.format_description }}"/>
@@ -89,6 +89,11 @@ $(function() {
 	if (document.hasFocus()) {
 		playerplay();
 	}
+	//display errors
+	{% for msg in msgs %}
+		videojs("videoplayer").createModal('',{"uncloseable": true }).contentEl().innerHTML='<div class="hidden-print alert alert-danger" role="alert">{{ msg|safe }}</div>';
+		
+	{% endfor %}
 });
 </script>
 {% endmacro %}