diff --git a/l2pauth.py b/l2pauth.py
index 49448063e1b6a010ba27ffe22d8aa6462bc5ca44..daa68a5088955e8e5f402ff6496667212db7fcf0 100644
--- a/l2pauth.py
+++ b/l2pauth.py
@@ -1,5 +1,6 @@
 from server import *
 import requests
+from mail import notify_admins
 
 L2P_BASE = 'https://www3.elearning.rwth-aachen.de/_vti_bin/l2pservices/api.svc/v1/'
 OAUTH_BASE = 'https://oauth.campus.rwth-aachen.de/oauth2waitress/oauth2.svc/'
@@ -66,7 +67,12 @@ def finish_oauth():
 			session['l2p_courses'].append(course['uniqueid'])
 	elif session['oauthscope'] == 'moodle':
 		session['moodle_courses'] = []
-		for course in moodleget('getmyenrolledcourses', token['access_token'])['Data']:
-			session['moodle_courses'].append(str(course['id']))
+		data = moodleget('getmyenrolledcourses', token['access_token'])
+		if data and data.get('Data'):
+			for course in data['Data']:
+				session['moodle_courses'].append(str(course['id']))
+		else:
+			notify_admins('endpoint_exception', traceback=f"finish_oauth failed while getting moodle courses, data={str(data)}")
+			raise
 	del session['oauthscope']
 	oauthget('token', refresh_token=token['refresh_token'], grant_type='invalidate')