diff --git a/app/controllers/settings/notification.php b/app/controllers/settings/notification.php
index 5fc3e7f1e2807f8d76df672b4cfe5cef3c4970d5..e3efb7b883d0aad7dbfa55192cdaf3bdc8618b80 100644
--- a/app/controllers/settings/notification.php
+++ b/app/controllers/settings/notification.php
@@ -72,10 +72,16 @@ class Settings_NotificationController extends Settings_SettingsController
         $groups = [];
         $my_sem = [];
         foreach ($seminars as $seminar) {
-            $su = CourseMember::findOneBySQL(
-                'seminar_id = :course_id AND user_id = :user_id',
-                ['course_id' => $seminar->id, 'user_id' => $GLOBALS['user']->id]
-            );
+            $su = CourseMember::find([$seminar->id, User::findCurrent()->id]);
+
+            if (!$su && Config::get()->DEPUTIES_ENABLE) {
+                $su = Deputy::find([$seminar->id, User::findCurrent()->id]);
+            }
+
+            if (!$su) {
+                continue;
+            }
+
             $my_sem[$seminar['Seminar_id']] = [
                 'obj_type'       => "sem",
                 'sem_nr'         => $seminar->veranstaltungsnummer,
@@ -84,7 +90,7 @@ class Settings_NotificationController extends Settings_SettingsController
                 'gruppe'         => $su->gruppe,
                 'sem_status'     => $seminar->status,
                 'sem_number'     => Semester::getIndexById($seminar->start_semester->id),
-                'sem_number_end' => Semester::getIndexById($seminar->end_semester->id ?? '')
+                'sem_number_end' => Semester::getIndexById($seminar->end_semester->id ?? '') ?: '-1',
             ];
             if ($group_field) {
                 fill_groups($groups, Semester::getIndexById($seminar->start_semester->id), [
diff --git a/lib/meine_seminare_func.inc.php b/lib/meine_seminare_func.inc.php
index 39f4fa115d995c43a80dced16da67fbf3add8818..bd81fd243115f550b97fd05348583e1738bd1201 100644
--- a/lib/meine_seminare_func.inc.php
+++ b/lib/meine_seminare_func.inc.php
@@ -141,19 +141,12 @@ function correct_group_sem_number(&$groups, &$my_obj): bool
 {
     if (is_array($groups) && is_array($my_obj)) {
         $sem_data = Semester::findAllVisible();
-        //end($sem_data);
-        //$max_sem = key($sem_data);
         foreach ($sem_data as $sem_key => $one_sem){
             $current_sem = $sem_key;
             if (!$one_sem['past']) {
                 break;
             }
         }
-        if (isset($sem_data[$current_sem + 1])){
-            $max_sem = $current_sem + 1;
-        } else {
-            $max_sem = $current_sem;
-        }
         foreach ($my_obj as $seminar_id => $values){
             if ($values['obj_type'] == 'sem' && $values['sem_number'] != $values['sem_number_end']){
                 if ($values['sem_number_end'] == -1 && $values['sem_number'] < $current_sem) {