diff --git a/app/controllers/contents/courseware.php b/app/controllers/contents/courseware.php
index 9ff9006bd85c9bd21eb6dbe8330dded506435a12..68926468a7887eb92fe1cea5755b86d667c17565 100755
--- a/app/controllers/contents/courseware.php
+++ b/app/controllers/contents/courseware.php
@@ -197,12 +197,12 @@ class Contents_CoursewareController extends AuthenticatedController
         } else {
             $this->all_semesters = false;
         }
-        $params = [
-            'order_by'            => null,
-            'order'               => 'asc',
-            'studygroups_enabled' => Config::get()->MY_COURSES_ENABLE_STUDYGROUPS,
-            'deputies_enabled'    => Config::get()->DEPUTIES_ENABLE,
-        ];
+        usort($this->semesters, function ($a, $b) {
+            if ($a->beginn === $b->beginn) {
+                return 0;
+            }
+            return ($a->beginn > $b->beginn) ? -1 : 1;
+        });
 
         $sem_courses  = MyRealmModel::getPreparedCourses($sem_key, $params);