diff --git a/lib/classes/sidebar/RoomSearchWidget.class.php b/lib/classes/sidebar/RoomSearchWidget.class.php
index 8f2aec6129c376ca3eb3f5548221b10e37bff564..0b06a7fc6a694b40dd638824ef98ebe02d14bc4b 100644
--- a/lib/classes/sidebar/RoomSearchWidget.class.php
+++ b/lib/classes/sidebar/RoomSearchWidget.class.php
@@ -10,9 +10,11 @@ class RoomSearchWidget extends SidebarWidget
     protected $criteria;
     protected $selected_criteria;
     protected $defined_properties;
+    protected $semesters;
 
     protected function setupSearchParameters()
     {
+        $this->semesters = array_reverse(Semester::getAll());
         $this->defined_properties = RoomManager::getAllRoomPropertyDefinitions(
             true,
             [
@@ -121,7 +123,6 @@ class RoomSearchWidget extends SidebarWidget
         }
 
         $current_semester = Semester::findCurrent();
-        $all_semesters = Semester::getAll();
         $begin = new DateTime();
         $begin = $begin->setTimestamp($current_semester->beginn);
         $begin->setTime(intval(date('H')), 0, 0);
@@ -134,7 +135,6 @@ class RoomSearchWidget extends SidebarWidget
             'optional' => false,
             'enabled' => false,
             'semester' => [
-                'objects' => $all_semesters,
                 'value' => $current_semester->id
             ],
             'range' => [
@@ -561,6 +561,7 @@ class RoomSearchWidget extends SidebarWidget
             'criteria'          => $this->criteria,
             'selected_criteria' => $this->selected_criteria,
             'action_link'       => $this->action_link,
+            'semesters'         => $this->semesters
         ]);
 
         return $GLOBALS['template_factory']->render(
diff --git a/templates/sidebar/room-search-criteria-available-range.php b/templates/sidebar/room-search-criteria-available-range.php
index 4157e352bd25e70cb0d837f2615a4268ed1eca86..aeba82396fe431447fbea8b6620f4889c202be9d 100644
--- a/templates/sidebar/room-search-criteria-available-range.php
+++ b/templates/sidebar/room-search-criteria-available-range.php
@@ -48,8 +48,8 @@
             <div><?= _('Semester') ?></div>
             <select name="<?= htmlReady($criteria['name'] . '_semester_id') ?>">
                 <option value=""><?= _('Bitte wählen') ?></option>
-                <? if (is_array($criteria['semester']['objects'])): ?>
-                    <? foreach ($criteria['semester']['objects'] as $semester): ?>
+                <? if (is_array($semesters)) : ?>
+                    <? foreach ($semesters as $semester): ?>
                         <option value="<?= htmlReady($semester->id) ?>"
                                 <?= ($semester->id == $criteria['semester']['value']
                                    ? 'selected="selected"'