diff --git a/lib/classes/forms/NewsRangesInput.php b/lib/classes/forms/NewsRangesInput.php
index a515562cb81ebfedafd746e236073364edcc4611..1c70117ca41d63af1068c6d01d5078606597f454 100644
--- a/lib/classes/forms/NewsRangesInput.php
+++ b/lib/classes/forms/NewsRangesInput.php
@@ -167,6 +167,8 @@ class NewsRangesInput extends Input
             return [];
         }
 
+        $name_format = \Config::get()->IMPORANT_SEMNUMBER ? 'number-name-semester' : 'name-semester';
+
         $options = [];
         foreach (\Course::findByUser(\User::findCurrent()->id) as $course) {
             if (!\StudipNews::haveRangePermission('edit', $course->id)) {
@@ -175,7 +177,7 @@ class NewsRangesInput extends Input
 
             $options[] = [
                 'value' => $course->id . '__seminar',
-                'name'  => (string) $course->name,
+                'name'  => $course->getFullname($name_format),
             ];
         }
 
diff --git a/lib/models/Course.class.php b/lib/models/Course.class.php
index d9325b099bebf46e66087629def69a4c2a656e35..d0bc63d6ac707730e35b11377f7cc5f01a01b6eb 100644
--- a/lib/models/Course.class.php
+++ b/lib/models/Course.class.php
@@ -545,12 +545,17 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
      */
     public function getFullname($format = 'default')
     {
-        $template['type-name'] = '%2$s: %1$s';
-        $template['number-type-name'] = '%3$s %2$s: %1$s';
-        $template['type-number-name'] = '%2$s: %3$s %1$s';
-        $template['number-name'] = '%3$s %1$s';
-        $template['number-name-semester'] = '%3$s %1$s (%4$s)';
-        $template['sem-duration-name'] = '%4$s';
+        $template = [
+            'name'                 => '%1$s',
+            'name-semester'        => '%1$s (%4$s)',
+            'number-name'          => '%3$s %1$s',
+            'number-name-semester' => '%3$s %1$s (%4$s)',
+            'number-type-name'     => '%3$s %2$s: %1$s',
+            'sem-duration-name'    => '%4$s',
+            'type-name'            => '%2$s: %1$s',
+            'type-number-name'     => '%2$s: %3$s %1$s',
+        ];
+
         if ($format === 'default' || !isset($template[$format])) {
            $format = Config::get()->IMPORTANT_SEMNUMBER ? 'type-number-name' : 'type-name';
         }
@@ -957,11 +962,14 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
             $sql = 'SELECT range_id FROM `deputies` WHERE `deputies`.`user_id` = :user_id';
             $seminar_ids = array_merge($seminar_ids, $db->fetchFirst($sql, $sql_params));
         }
+
+        $name_sort = Config::get()->IMPORTANT_SEMNUMBER ? 'VeranstaltungsNummer, Name' : 'Name';
+
         return Course::findBySQL(
             "LEFT JOIN semester_courses ON (semester_courses.course_id = seminare.Seminar_id)
              WHERE Seminar_id IN (?)
              GROUP BY seminare.Seminar_id
-             ORDER BY IF(semester_courses.semester_id IS NULL, 1, 0) DESC, start_time DESC, Name ASC",
+             ORDER BY semester_courses.semester_id IS NULL DESC, start_time DESC, {$name_sort}",
             [$seminar_ids]
         );
     }