diff --git a/app/controllers/shared/download.php b/app/controllers/shared/download.php
index 39fc7ddae1a1003d64c4041bdf8ef0c139084f14..59b17512687d8c058161b69839462306819ad94b 100644
--- a/app/controllers/shared/download.php
+++ b/app/controllers/shared/download.php
@@ -86,7 +86,7 @@ class Shared_DownloadController extends AuthenticatedController
         $this->exportTcpdf($blocks, self::sanitizeFilename(
             _('Modulhandbuch'),
             trim($this->StgteilVersion->studiengangteil->getDisplayName()),
-            $semester->semester_token ?: $semester->name,
+            $semester->short_name,
             $language
         ));
     }
@@ -280,4 +280,4 @@ class Shared_DownloadController extends AuthenticatedController
         }
         return $result;
     }
-}
\ No newline at end of file
+}
diff --git a/app/views/admin/semester/index.php b/app/views/admin/semester/index.php
index bae473763108c61f749fb5abc6862800c21005bf..b9bdbbb85d6e1d5b752676c3e97e787e94aa7058 100644
--- a/app/views/admin/semester/index.php
+++ b/app/views/admin/semester/index.php
@@ -59,7 +59,7 @@
                 <? endif; ?>
             </td>
             <td>
-                <?= htmlReady($semester->semester_token ?: '- ' . _('keins') . ' -') ?>
+                <?= htmlReady((string) $semester->semester_token ?: '- ' . _('keins') . ' -') ?>
             </td>
             <td>
                 <?= strftime('%x', $semester->beginn) ?>
diff --git a/lib/classes/globalsearch/GlobalSearchCourses.php b/lib/classes/globalsearch/GlobalSearchCourses.php
index a966d97c47746711ba9d65198070fd4260bd0798..d7f95e2c9ee3ff62baef45c96c4e67adcffea383 100644
--- a/lib/classes/globalsearch/GlobalSearchCourses.php
+++ b/lib/classes/globalsearch/GlobalSearchCourses.php
@@ -197,7 +197,7 @@ class GlobalSearchCourses extends GlobalSearchModule implements GlobalSearchFull
             'number'        => self::mark($course->veranstaltungsnummer, $search),
             'name'          => self::mark($course->getFullname(), $search),
             'url'           => URLHelper::getURL("dispatch.php/course/details/index/{$course->id}", [], true),
-            'date'          => $semester->token ?: $semester->name,
+            'date'          => $semester->short_name,
             'dates'         => $turnus_string,
             'has_children'  => count($course->children) > 0,
             'children'      => $result_children,
diff --git a/lib/classes/globalsearch/GlobalSearchMyCourses.php b/lib/classes/globalsearch/GlobalSearchMyCourses.php
index 715fda9fa4d4234ab52b33239c731413d94df01d..3c4b4776a140f5375da3c03ed2aeed0f61473226 100644
--- a/lib/classes/globalsearch/GlobalSearchMyCourses.php
+++ b/lib/classes/globalsearch/GlobalSearchMyCourses.php
@@ -138,7 +138,7 @@ class GlobalSearchMyCourses extends GlobalSearchModule
             'number'        => self::mark($course->veranstaltungsnummer, $search),
             'name'          => self::mark($course->getFullname(), $search),
             'url'           => URLHelper::getURL('seminar_main.php', ['cid' => $course->id], true),
-            'date'          => $semester->token ?: $semester->name,
+            'date'          => $semester->short_name,
             'dates'         => $turnus_string,
             'has_children'  => count($course->children) > 0,
             'children'      => $result_children,
diff --git a/lib/models/Course.class.php b/lib/models/Course.class.php
index 172bb08629635a3e0e7caf9c2ce0a1b263f1c226..9670cc492f378cfa6eb10d6c482b280a952f890a 100644
--- a/lib/models/Course.class.php
+++ b/lib/models/Course.class.php
@@ -393,9 +393,9 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
     public function getTextualSemester()
     {
         if (count($this->semesters) > 1) {
-            return $this->start_semester->name . ' - ' . $this->end_semester->name;
+            return $this->start_semester->short_name . ' - ' . $this->end_semester->short_name;
         } elseif (count($this->semesters) === 1) {
-            return $this->start_semester->name;
+            return $this->start_semester->short_name;
         } else {
             return _('unbegrenzt');
         }
diff --git a/lib/models/Semester.class.php b/lib/models/Semester.class.php
index 2652de837840d634b394d407ef6c0046ecd0885e..614e8fc3d60a70d15b4865cafed4bc21c29aadd6 100644
--- a/lib/models/Semester.class.php
+++ b/lib/models/Semester.class.php
@@ -41,6 +41,9 @@ class Semester extends SimpleORMap
         $config['additional_fields']['last_sem_week']['get'] = 'getLastSemesterWeek';
         $config['additional_fields']['current']['get'] = 'isCurrent';
         $config['additional_fields']['past']['get'] = 'isPast';
+        $config['additional_fields']['short_name']['get'] = function($semester) {
+            return (string) $semester->semester_token ?: (string) $semester->name;
+        };
 
         $config['additional_fields']['absolute_seminars_count'] = [
             'get' => 'seminarCounter',