diff --git a/l2pauth.py b/l2pauth.py
index 39c0ebf6ce5a488e3606b527321cf6931bcf99c4..a643c82ed5c9c10be494bdd159628e076e9ec772 100644
--- a/l2pauth.py
+++ b/l2pauth.py
@@ -48,6 +48,15 @@ def start_rwthauth():
 	session['oauthscope'] = 'rwth'
 	return redirect(code['verification_url']+'?q=verify&d='+code['user_code'])
 
+@app.route('/internal/moodlel2pauth')
+def start_moodlel2pauth():
+	if 'L2P_APIKEY' not in config:
+		return render_template("500.html"), 500
+	code = oauthget('code', scope='moodle.rwth l2p2013.rwth')
+	session['oauthcode'] = code['device_code']
+	session['oauthscope'] = 'l2pandmoodle'
+	return redirect(code['verification_url']+'?q=verify&d='+code['user_code'])
+
 @app.before_request
 def finish_oauth():
 	if 'L2P_APIKEY' not in config:
@@ -58,14 +67,14 @@ def finish_oauth():
 	if token.get('status') != 'ok':
 		return
 	del session['oauthcode']
-	if session['oauthscope'] not in ['l2p', 'rwth', 'moodle']:
+	if session['oauthscope'] not in ['l2p', 'rwth', 'moodle', 'l2pandmoodle']:
 		return
 	session['rwthintern'] = True
-	if session['oauthscope'] == 'l2p':
+	if session['oauthscope'] == 'l2p' or session['oauthscope'] == 'l2pandmoodle':
 		session['l2p_courses'] = []
 		for course in l2pget('viewAllCourseInfo', token['access_token'])['dataSet']:
 			session['l2p_courses'].append(course['uniqueid'])
-	elif session['oauthscope'] == 'moodle':
+	if session['oauthscope'] == 'moodle' or session['oauthscope'] == 'l2pandmoodle':
 		data = moodleget('getmyenrolledcourses', token['access_token'])
 		if data and data.get('Data'):
 			session['moodle_courses'] = []
diff --git a/server.py b/server.py
index 44be9b9167f5320ecbda3e500646031c74b4e2b0..6f5d472928f3bb92de31945bf13a21ff07026a9e 100644
--- a/server.py
+++ b/server.py
@@ -329,6 +329,12 @@ def lecture(id, course=None, courseid=None): #pylint: disable=unused-argument,to
 		mode, text = permdescr(perms)
 		if mode == 'rwth':
 			flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_rwthauth')+'">Hier authorisieren</a>.', category='player')
+		elif mode == 'l2pandmoodle':
+			if 'l2p_courses' in session or 'moodle_courses' in session:
+				flash(text+'. Du bist kein Teilnehmer des L2P oder Moodle-Kurses! \
+						<a target="_blank" class="reloadonclose" href="'+url_for('start_moodlel2pauth')+'">Kurse aktualisieren</a>.', category='player')
+			else:
+				flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_moodlel2pauth')+'">Hier authorisieren</a>.', category='player')
 		elif mode == 'l2p':
 			if 'l2p_courses' in session:
 				flash(text+'. Du bist kein Teilnehmer des L2P-Kurses! \
diff --git a/template_helper.py b/template_helper.py
index 281352d2aff01f17321109aa3ea9851bc168d748..663fead5f4de58fd8667114082c31ed87e1bef9d 100644
--- a/template_helper.py
+++ b/template_helper.py
@@ -141,11 +141,19 @@ def permdescr(perms): #pylint: disable=too-many-branches,too-many-return-stateme
 		return 'fsmpi', 'Nur für Fachschaftler verfügbar'
 	if l2p_courses:
 		if password:
+			if moodle_courses:
+				return 'l2pandmoodle', 'Nur für Teilnehmer der Veranstaltung und Nutzer mit Passwort verfügbar'
 			return 'l2p', 'Nur für Teilnehmer der Veranstaltung und Nutzer mit Passwort verfügbar'
+		if moodle_courses:
+			return 'l2pandmoodle', 'Nur für Teilnehmer der Veranstaltung verfügbar'
 		return 'l2p', 'Nur für Teilnehmer der Veranstaltung verfügbar'
 	if moodle_courses:
 		if password:
+			if l2p_courses:
+				return 'l2pandmoodle', 'Nur für Teilnehmer der Veranstaltung und Nutzer mit Passwort verfügbar'
 			return 'moodle', 'Nur für Teilnehmer der Veranstaltung und Nutzer mit Passwort verfügbar'
+		if l2p_courses:
+			return 'l2pandmoodle', 'Nur für Teilnehmer der Veranstaltung verfügbar'
 		return 'moodle', 'Nur für Teilnehmer der Veranstaltung verfügbar'
 	if password:
 		return 'password', 'Nur für Nutzer mit Passwort verfügbar'
diff --git a/templates/macros.html b/templates/macros.html
index bf28145d1d983f0ce63b7158ec1de312cf99bc29..c442d9db6b5ade8e5ed4e5fd5c16db9ff25491d7 100644
--- a/templates/macros.html
+++ b/templates/macros.html
@@ -377,7 +377,7 @@ $('#embedcodebtn').popover(
 	{% if permdescription[0] == 'l2p' %}
 		{% set permlogos = '<span class="fa" aria-hidden="true" style="width: 12px; height: 14px; background-size: cover; background-image: url(\'/static/l2p-logo.gif\');"></span>' %}
 	{% endif %}
-	{% if permdescription[0] == 'moodle' %}
+	{% if permdescription[0] == 'moodle' or permdescription[0] == 'l2pandmoodle' %}
 		{% set permlogos = '<span class="fa" aria-hidden="true" style="width: 20px; height: 14px; background-size: cover; background-image: url(\'/static/moodle.png\');"></span>' %}
 	{% endif %}
 	{% if permdescription[0] == 'rwth' %}