diff --git a/app/controllers/admin/courseplanning.php b/app/controllers/admin/courseplanning.php
index bd384f1dfed6704d8527378ae483b393b146e922..56c3cbdbdce692af49a514ae8bcc7e4225ae7f6c 100644
--- a/app/controllers/admin/courseplanning.php
+++ b/app/controllers/admin/courseplanning.php
@@ -48,7 +48,11 @@ class Admin_CourseplanningController extends AuthenticatedController
             $stgteil = StudiengangTeil::find($GLOBALS['user']->cfg->MY_COURSES_SELECTED_STGTEIL);
             $plan_title .= ' - ' . $stgteil->getDisplayName();
         }
-        if ($GLOBALS['user']->cfg->MY_COURSES_SELECTED_CYCLE && $GLOBALS['user']->cfg->MY_COURSES_SELECTED_CYCLE != 'all') {
+        if (
+            isset($this->semester)
+            && $GLOBALS['user']->cfg->MY_COURSES_SELECTED_CYCLE
+            && $GLOBALS['user']->cfg->MY_COURSES_SELECTED_CYCLE !== 'all'
+        ) {
             $plan_title .= ' - ' . $this->semester->name;
         }
         return $plan_title;
@@ -838,45 +842,43 @@ class Admin_CourseplanningController extends AuthenticatedController
             $sem_types = SemType::getTypes();
         }
 
-        $seminars   = array_map('reset', $courses);
-
-        if (!empty($seminars)) {
-            foreach ($seminars as $seminar_id => $seminar) {
-                $seminars[$seminar_id]['seminar_id'] = $seminar_id;
-                $seminars[$seminar_id]['obj_type'] = 'sem';
-                $dozenten = $this->getTeacher($seminar_id);
-                $seminars[$seminar_id]['dozenten'] = $dozenten;
-
-                if (in_array('contents', $params['view_filter'])) {
-                    $tools = new SimpleCollection(ToolActivation::findbyRange_id($seminar_id, "ORDER BY position"));
-                    $visit_data = get_objects_visits([$seminar_id], 0, null, null, $tools->pluck('plugin_id'));
-                    $seminars[$seminar_id]['tools'] = $tools;
-                    $seminars[$seminar_id]['visitdate'] = $visit_data[$seminar_id][0]['visitdate'];
-                    $seminars[$seminar_id]['last_visitdate'] = $visit_data[$seminar_id][0]['last_visitdate'];
-                    $seminars[$seminar_id]['sem_class'] = $sem_types[$seminar['status']]->getClass();
-                    $seminars[$seminar_id]['navigation'] = MyRealmModel::getAdditionalNavigations(
-                        $seminar_id,
-                        $seminars[$seminar_id],
-                        $seminars[$seminar_id]['sem_class'],
-                        $GLOBALS['user']->id,
-                        $visit_data[$seminar_id]
-                    );
-                }
-                //add last activity column:
-                if (in_array('last_activity', $params['view_filter'])) {
-                    $seminars[$seminar_id]['last_activity'] = lastActivity($seminar_id);
-                }
-                if ($this->selected_action == 17) {
-                    $seminars[$seminar_id]['admission_locked'] = false;
-                    if ($seminar['course_set']) {
-                        $set = new CourseSet($seminar['course_set']);
-                        if (!is_null($set) && $set->hasAdmissionRule('LockedAdmission')) {
-                            $seminars[$seminar_id]['admission_locked'] = 'locked';
-                        } else {
-                            $seminars[$seminar_id]['admission_locked'] = 'disable';
-                        }
-                        unset($set);
+        $seminars = array_map('current', $courses);
+
+        foreach ($seminars as $seminar_id => $seminar) {
+            $seminars[$seminar_id]['seminar_id'] = $seminar_id;
+            $seminars[$seminar_id]['obj_type'] = 'sem';
+            $dozenten = $this->getTeacher($seminar_id);
+            $seminars[$seminar_id]['dozenten'] = $dozenten;
+
+            if (in_array('contents', $params['view_filter'])) {
+                $tools = new SimpleCollection(ToolActivation::findbyRange_id($seminar_id, "ORDER BY position"));
+                $visit_data = get_objects_visits([$seminar_id], 0, null, null, $tools->pluck('plugin_id'));
+                $seminars[$seminar_id]['tools'] = $tools;
+                $seminars[$seminar_id]['visitdate'] = $visit_data[$seminar_id][0]['visitdate'];
+                $seminars[$seminar_id]['last_visitdate'] = $visit_data[$seminar_id][0]['last_visitdate'];
+                $seminars[$seminar_id]['sem_class'] = $sem_types[$seminar['status']]->getClass();
+                $seminars[$seminar_id]['navigation'] = MyRealmModel::getAdditionalNavigations(
+                    $seminar_id,
+                    $seminars[$seminar_id],
+                    $seminars[$seminar_id]['sem_class'],
+                    $GLOBALS['user']->id,
+                    $visit_data[$seminar_id]
+                );
+            }
+            //add last activity column:
+            if (in_array('last_activity', $params['view_filter'])) {
+                $seminars[$seminar_id]['last_activity'] = lastActivity($seminar_id);
+            }
+            if ($this->selected_action == 17) {
+                $seminars[$seminar_id]['admission_locked'] = false;
+                if ($seminar['course_set']) {
+                    $set = new CourseSet($seminar['course_set']);
+                    if (!is_null($set) && $set->hasAdmissionRule('LockedAdmission')) {
+                        $seminars[$seminar_id]['admission_locked'] = 'locked';
+                    } else {
+                        $seminars[$seminar_id]['admission_locked'] = 'disable';
                     }
+                    unset($set);
                 }
             }
         }
diff --git a/app/views/admin/api/index.php b/app/views/admin/api/index.php
index 87dff7e5b9c2b08076785d16fc82c7060005d568..132deacb04ad0cd3093ac89fe9b1b3c2d23213db 100644
--- a/app/views/admin/api/index.php
+++ b/app/views/admin/api/index.php
@@ -36,7 +36,7 @@
                 <?= htmlReady($consumer->title) ?>
             <? endif; ?>
             </td>
-            <td><?= $types[$consumer->type] ?: '&nbsp;' ?></td>
+            <td><?= $types[$consumer->type] ?? '&nbsp;' ?></td>
             <td>
                 <a href="mailto:<?= htmlReady($consumer->email) ?>">
                     <?= htmlReady($consumer->contact) ?>
diff --git a/lib/classes/I18NString.php b/lib/classes/I18NString.php
index b8d666bc5e11e2ee62ef9da05ebd4d7457297c93..63c8ba64766c9e25af8f757e1de2d7a87bdb8425 100644
--- a/lib/classes/I18NString.php
+++ b/lib/classes/I18NString.php
@@ -181,7 +181,7 @@ class I18NString implements JsonSerializable
      */
     public function translation($lang)
     {
-        return $this->toArray()[$lang];
+        return $this->toArray()[$lang] ?? '';
     }
 
     /**
diff --git a/lib/classes/InstituteCalendarHelper.class.php b/lib/classes/InstituteCalendarHelper.class.php
index c0f99e0dcfc81e2875832c110bbb18ced63412a0..4a85240dcebc53204107ae40fe30a77295ac408e 100644
--- a/lib/classes/InstituteCalendarHelper.class.php
+++ b/lib/classes/InstituteCalendarHelper.class.php
@@ -609,7 +609,7 @@ class InstituteCalendarHelper
         $rooms = [];
         foreach ($cycle_date->getAllDates() as $course_date) {
             $room = $course_date->getRoom();
-            if ($room->id) {
+            if ($room) {
                 $rooms[$room->id] = $room->name;
             }
         }
diff --git a/lib/classes/coursewizardsteps/BasicDataWizardStep.php b/lib/classes/coursewizardsteps/BasicDataWizardStep.php
index 35431302bd2a2ca63352847046d35949252b8a5a..ebb8ff552aa9125205ad863c173f62b3392ef8db 100644
--- a/lib/classes/coursewizardsteps/BasicDataWizardStep.php
+++ b/lib/classes/coursewizardsteps/BasicDataWizardStep.php
@@ -29,7 +29,7 @@ class BasicDataWizardStep implements CourseWizardStep
     {
         // Load template from step template directory.
         $factory = new Flexi_TemplateFactory($GLOBALS['STUDIP_BASE_PATH'] . '/app/views/course/wizard/steps');
-        if ($values[__CLASS__]['studygroup']) {
+        if (!empty($values[__CLASS__]['studygroup'])) {
             $tpl = $factory->open('basicdata/index_studygroup');
             $values[__CLASS__]['lecturers'][$GLOBALS['user']->id] = 1;
         } else {
@@ -45,13 +45,13 @@ class BasicDataWizardStep implements CourseWizardStep
     protected function setupTemplateAttributes($tpl, $values, $stepnumber, $temp_id)
     {
         // We only need our own stored values here.
-        $values = $values[__CLASS__];
+        $values = $values[__CLASS__] ?? [];
         // Get all available course types and their categories.
         $typestruct = [];
         foreach (SemType::getTypes() as $type) {
             $class = $type->getClass();
             // Creates a studygroup.
-            if ($values['studygroup']) {
+            if (!empty($values['studygroup'])) {
                 // Get all studygroup types.
                 if ($class['studygroup_mode']) {
                     $typestruct[$class['name']][] = $type;