diff --git a/server.py b/server.py
index 232c0d91131333819dddfff07cafcc7b3994c682..d2eaf22a9cd34f817653952e167674e92146a9f0 100644
--- a/server.py
+++ b/server.py
@@ -129,8 +129,8 @@ def authdescr(auths):
 		return 'rwth', 'Nur für RWTH-Angehörige verfügbar'
 	if l2p_courses:
 		if password:
-			return 'rwth', 'Nur für Teilnehmer der Veranstaltung und Nutzer mit Passwort verfügbar'
-		return 'rwth', 'Nur für Teilnehmer der Veranstaltung verfügbar'
+			return 'l2p', 'Nur für Teilnehmer der Veranstaltung und Nutzer mit Passwort verfügbar'
+		return 'l2p', 'Nur für Teilnehmer der Veranstaltung verfügbar'
 	if password:
 		return 'password', 'Nur für Nutzer mit Passwort verfügbar'
 	return 'public', 'Öffentlich verfügbar'
@@ -295,12 +295,22 @@ def lecture(id):
 			WHERE videos.lecture_id = ? AND (? OR videos.visible)
 			ORDER BY formats.prio DESC
 			''', lecture['course_id'], lecture['id'], ismod())
+	auths = query('SELECT auth.* FROM auth WHERE (auth.lecture_id = ? OR auth.course_id = ?)',
+			lecture['id'], lecture['course_id'])
 	if not videos:
 		flash('Zu dieser Vorlesung wurden noch keine Videos veröffentlicht!')
 	course = query('SELECT * FROM courses WHERE id = ? AND (? OR (visible AND listed))', lecture['course_id'], ismod())[0]
 	if not course:
 		return render_endpoint('course', 'Diese Veranstaltung existiert nicht!'), 404
 	chapters = query('SELECT * FROM chapters WHERE lecture_id = ? AND NOT deleted AND (? OR visible) ORDER BY time ASC', id, ismod())
+	if not checkauth(auths):
+		mode, text = authdescr(auths)
+		if mode == 'rwth':
+			flash(text+'. <a target="_blank" href="'+url_for('start_rwthauth')+'">Hier authorisieren</a>.')
+		elif mode == 'l2p':
+			flash(text+'. <a target="_blank" href="'+url_for('start_l2pauth')+'">Hier authorisieren</a>.')
+		else:
+			flash(text+'.')
 	return render_template('embed.html' if request.endpoint == 'embed' else 'lecture.html', course=course, lecture=lecture, videos=videos, chapters=chapters)
 
 
@@ -436,6 +446,7 @@ def auth(): # For use with nginx auth_request
       AND (? OR (courses.visible AND lectures.visible AND videos.visible))
 			ORDER BY auth.video_id DESC, auth.lecture_id DESC, auth.course_id DESC''',
 			url, ismod())
+
 	if not videos:
 		return "Not allowed", 403
 	auth = request.authorization
diff --git a/templates/base.html b/templates/base.html
index 0ecb0e4c1455c454da14f26b086eebf79d2dd143..d036b5d9435125c32153133958ecdad247c4a633 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -106,7 +106,7 @@
 				<div class="col-xs-12 col-md-offset-{{ page_border }} col-md-{{ 12-(2*page_border) }}">
 				{% endif %}
 					{% for msg in get_flashed_messages() %}
-					<div class="hidden-print alert alert-danger" role="alert">{{ msg }}</div>
+					<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]) %}
 					<div class="hidden-print alert alert-{{levels.get(msg.level, ('info', ''))[0]}}" role="alert">