diff --git a/sorter.py b/sorter.py
index b17ccb4c9b69ea92bb314f6b6b4e4736e641a781..72c338e884e24a9634181b95bba648ef98f3567d 100644
--- a/sorter.py
+++ b/sorter.py
@@ -57,10 +57,10 @@ def schedule_thumbnail(lectureid):
 @mod_required
 @sched_func(600)
 def sort_now():
-	modify('BEGIN')
 	courses = query('SELECT * FROM courses')
 	formats = query('SELECT * FROM formats ORDER BY prio')
 	for course in courses:
+		modify('BEGIN')
 		for mountpoint in config['VIDEOMOUNT']:
 			existingvideos = query('SELECT videos.path FROM videos JOIN lectures ON (videos.lecture_id = lectures.id) WHERE lectures.course_id = ?',course['id'])
 			knownerrors = query('SELECT sorterrorlog.path FROM sorterrorlog WHERE sorterrorlog.course_id = ?',course['id'])
@@ -168,7 +168,7 @@ def sort_now():
 					traceback.print_exc()
 
 		
-	modify('COMMIT')
+		modify('COMMIT')
 	if 'ref' in request.values:
 		return redirect(request.values['ref'])
 	else: