diff --git a/server.py b/server.py
index 7ecee0c681763853e949ac06129d33cc0216aceb..622c4abc47f8e969e5961b9f2eff036fada43731 100644
--- a/server.py
+++ b/server.py
@@ -421,9 +421,9 @@ def lecture(id):
 	if not checkperm(perms):
 		mode, text = permdescr(perms)
 		if mode == 'rwth':
-			flash(text+'. <a target="_blank" href="'+url_for('start_rwthauth')+'">Hier authorisieren</a>.')
+			flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_rwthauth')+'">Hier authorisieren</a>.')
 		elif mode == 'l2p':
-			flash(text+'. <a target="_blank" href="'+url_for('start_l2pauth')+'">Hier authorisieren</a>.')
+			flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Hier authorisieren</a>.')
 		else:
 			flash(text+'.')
 	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/lecture.html b/templates/lecture.html
index 4007263b47de998985e68dad49d5811c18618784..96ca158804728a533dd7846d027f34d40dc1d257 100644
--- a/templates/lecture.html
+++ b/templates/lecture.html
@@ -98,5 +98,19 @@ $(function() {
 			})
 
 });
+$(document).ready(function() {
+	$("a.reloadonclose").click(function () {
+		var popup = window.open(this.href, this.target);
+		if (!popup)
+			return true;
+		var popup_check = setInterval(function() {
+			if (popup.closed) {
+				clearInterval(popup_check);
+				location.reload();
+			};
+		}, 500);
+		return false;
+	});
+});
 </script>
 {% endblock %}