diff --git a/lib/drawer/drawer.dart b/lib/drawer/drawer.dart
index 9fe2ed74f06b41467009ca1c6e019041dc93b07f..c19ac91dab3c69605da21ebb28dd449dfe08eaa3 100644
--- a/lib/drawer/drawer.dart
+++ b/lib/drawer/drawer.dart
@@ -27,10 +27,10 @@ class _ClassDrawerState extends State<ClassDrawer> {
 
   String get headerText {
     final classes = selectedClasses;
-    final selectedNames =
-        classes.map((cls) => cls.codeWithoutFaculty).join(', ');
+    final selectedNames = classes.map((cls) => cls.codeWithoutFaculty).toList()
+      ..sort();
 
-    return selectedNames;
+    return selectedNames.join(', ');
   }
 
   @override
@@ -116,7 +116,7 @@ class _ClassDrawerState extends State<ClassDrawer> {
 
   @override
   Widget build(BuildContext context) {
-    final filteredClasses = getFilteredClasses();
+    final filteredClasses = getFilteredClassesSorted();
 
     return Drawer(
       child: Column(