diff --git a/server.py b/server.py
index fcb8cdd2088ef39bf564daf3c556136cf63b8ea0..66a051b8af1357d5838160b0411ecfd12bf325d0 100644
--- a/server.py
+++ b/server.py
@@ -359,7 +359,7 @@ def index():
 @app.route('/courses')
 @register_navbar('Videos', icon='film')
 def courses():
-	courses = query('SELECT * FROM courses WHERE (? OR (visible AND listed)) ORDER BY semester, title COLLATE NOCASE', ismod())
+	courses = query('SELECT * FROM courses WHERE (? OR (visible AND listed)) ORDER BY lower(semester), lower(title)', ismod())
 	for course in courses:
 		if course['semester'] == '':
 			course['semester'] = 'zeitlos'