diff --git a/lib/classes/ProfileModel.php b/lib/classes/ProfileModel.php
index 152bb195005c6f74bda5d4c42c70f81bb580890c..663d8ab3ff2d49caec7f8bd8ae9704b83ac5b9ea 100644
--- a/lib/classes/ProfileModel.php
+++ b/lib/classes/ProfileModel.php
@@ -96,7 +96,19 @@ class ProfileModel
     public function getDozentSeminars()
     {
         $courses = [];
-        $semester = array_reverse(Semester::getAll());
+        $semester = [];
+        $next_semester = Semester::findNext();
+        $current_semester = Semester::findCurrent();
+        $previous_semester = Semester::findPrevious();
+        if ($next_semester) {
+            $semester[$next_semester->id] = $next_semester;
+        }
+        if ($current_semester) {
+            $semester[$current_semester->id] = $current_semester;
+        }
+        if ($previous_semester) {
+            $semester[$previous_semester->id] = $previous_semester;
+        }
         $field = 'name';
         if (Config::get()->IMPORTANT_SEMNUMBER) {
             $field = "veranstaltungsnummer,{$field}";
diff --git a/lib/models/Semester.class.php b/lib/models/Semester.class.php
index 2652de837840d634b394d407ef6c0046ecd0885e..a5d81c7ca8565da1cdd4a19a46d302a34b6d312a 100644
--- a/lib/models/Semester.class.php
+++ b/lib/models/Semester.class.php
@@ -116,6 +116,27 @@ class Semester extends SimpleORMap
         return null;
     }
 
+    /**
+     * Returns the previous semester for a semester specified by a timestamp.
+     * If no timestamp is specified, the previous semester of the current semester is returned.
+     *
+     * @param integer|null $timestamp The timestamp of the semester whose predecessor
+     *     shall be found. Defaults to null.
+     *
+     * @return null|Semester A previous semester to the specified one or null, if no such semester
+     *     could be found.
+     */
+    public static function findPrevious($timestamp = null)
+    {
+        $timestamp = $timestamp ?: time();
+        $semester = self::findByTimestamp($timestamp);
+        if ($semester) {
+            return self::findByTimestamp((int)$semester->beginn - 1);
+        }
+
+        return null;
+    }
+
     /**
      * returns current Semester
      */