diff --git a/app/controllers/course/timesrooms.php b/app/controllers/course/timesrooms.php
index f6cab248a372f7b557bc6756c4115f4bb2afbb55..f452f4d01696e3e0d65fd0a8db2bc255831f1b72 100644
--- a/app/controllers/course/timesrooms.php
+++ b/app/controllers/course/timesrooms.php
@@ -444,7 +444,11 @@ class Course_TimesroomsController extends AuthenticatedController
         }
 
         // Set Room
-        $old_room_id = $termin->room_booking->resource_id;
+        if ($termin->room_booking) {
+            $old_room_id = $termin->room_booking->resource_id;
+        } else {
+            $old_room_id = null;
+        }
         $singledate = new SingleDate($termin);
         if ($singledate->setTime($date, $end_time)) {
             $singledate->store();
diff --git a/app/controllers/new_password.php b/app/controllers/new_password.php
index 525d73b66232e56a9becba8f6d85b6c0f0e9552c..1e58659ed9ae372c968d3b5a3cab6a8875a47d34 100644
--- a/app/controllers/new_password.php
+++ b/app/controllers/new_password.php
@@ -41,36 +41,32 @@ class NewPasswordController extends StudipController
 
         $users = User::findByEmail(Request::get('mail'));
 
-        if (sizeof($users) == 1) {
-            $user = $users[0];
-        } else if (sizeof($users) > 1) {
-            setTempLanguage($users[0]->id);
-
-            // there are mutliple accounts with this mail addresses!
-            $subject = sprintf(
-                _("[Stud.IP - %s] Passwortänderung angefordert"),
-                Config::get()->UNI_NAME_CLEAN
-            );
-
-            $mailbody = sprintf(
-                _("Dies ist eine Informationsmail des Stud.IP-Systems\n"
-                    ."(Studienbegleitender Internetsupport von Präsenzlehre)\n- %s -\n\n"
-                    . "Für die Mail-Adresse %s wurde ein Link angefordert\n"
-                    . "um das Passwort zurückzusetzen.\n"
-                    . "Dieser Mail-Adresse sind jedoch mehrere Zugänge zugeordnet,\n"
-                    . "deshalb ist es nicht möglich, das Passwort hierüber zurückzusetzen.\n"
-                    . "Wenden sie sich bitte stattdessen an\n%s"
-                ),
-                Config::get()->UNI_NAME_CLEAN,
-                $users[0]->email,
-                $GLOBALS['UNI_CONTACT']
-            );
-
-            StudipMail::sendMessage($users[0]->email, $subject, $mailbody);
-
-            restoreLanguage();
-        }
-
+        $user = $users[0];
+        setTempLanguage($user->id);
+
+        // there are mutliple accounts with this mail addresses!
+        $subject = sprintf(
+            _("[Stud.IP - %s] Passwortänderung angefordert"),
+            Config::get()->UNI_NAME_CLEAN
+        );
+
+        $mailbody = sprintf(
+            _("Dies ist eine Informationsmail des Stud.IP-Systems\n"
+                ."(Studienbegleitender Internetsupport von Präsenzlehre)\n- %s -\n\n"
+                . "Für die Mail-Adresse %s wurde ein Link angefordert\n"
+                . "um das Passwort zurückzusetzen.\n"
+                . "Dieser Mail-Adresse sind jedoch mehrere Zugänge zugeordnet,\n"
+                . "deshalb ist es nicht möglich, das Passwort hierüber zurückzusetzen.\n"
+                . "Wenden sie sich bitte stattdessen an\n%s"
+            ),
+            Config::get()->UNI_NAME_CLEAN,
+            $users[0]->email,
+            $GLOBALS['UNI_CONTACT']
+        );
+
+        StudipMail::sendMessage($user->email, $subject, $mailbody);
+
+        restoreLanguage();
         if ($user) {
             // spam/abuse-protection
             // if there are more than 5 tokens present, do NOT send another mail
diff --git a/app/views/course/cancel_dates/index.php b/app/views/course/cancel_dates/index.php
index 3c092bc90fb465d145b63143af904bb13d4e765a..4f3e2978f214c7d14fbee2c085daa33c55a09350 100644
--- a/app/views/course/cancel_dates/index.php
+++ b/app/views/course/cancel_dates/index.php
@@ -20,7 +20,7 @@
             <?= _('Benachrichtigung über ausfallende Termine an alle Teilnehmenden verschicken') ?>
         </label>
     </fieldset>
-    <? if ($issue_id) : ?>
+    <? if (!empty($issue_id)) : ?>
         <input type="hidden" name="issue_id" value="<?= $issue_id ?>">
     <? else : ?>
         <input type="hidden" name="termin_id" value="<?= $dates[0]->getTerminId() ?>">
diff --git a/app/views/oer/addfile/choose_file.php b/app/views/oer/addfile/choose_file.php
index 6c896cf8d05c5a4adf8add4dfde83f414376b27a..feb5b0f3503719fc77fcbff21067bef6715d1777 100644
--- a/app/views/oer/addfile/choose_file.php
+++ b/app/views/oer/addfile/choose_file.php
@@ -12,7 +12,7 @@ if ($best_nine_tags && count($best_nine_tags) > 0) {
 <form class="oer_search"
       action="<?= $controller->link_for("oer/market/search") ?>"
       method="GET"
-      data-searchresults="<?= htmlReady(json_encode($material_data)) ?>"
+      data-searchresults="<?= htmlReady(json_encode($material_data ?? [])) ?>"
       data-filteredtag="<?= htmlReady(Request::get("tag")) ?>"
       data-filteredcategory="<?= htmlReady(Request::get("category")) ?>"
       data-tags="<?= htmlReady(json_encode($tags)) ?>"
diff --git a/lib/filesystem/CourseDateFolder.php b/lib/filesystem/CourseDateFolder.php
index 7c91c87a7d363417ac51e31d331f4e4c6baf903c..8bd54d2e43b753ff0646dd8348d0acfe07da45b0 100644
--- a/lib/filesystem/CourseDateFolder.php
+++ b/lib/filesystem/CourseDateFolder.php
@@ -119,7 +119,7 @@ class CourseDateFolder extends PermissionEnabledFolder implements FolderType
         } else {
             $this->folderdata['data_content']['permission'] = 5;
         }
-        $this->folderdata['description'] = $request['description'] ?: '';
+        $this->folderdata['description'] = $request['description'] ?? '';
         return $this;
     }
 
diff --git a/lib/models/RangeScale.php b/lib/models/RangeScale.php
index 44b946beb802f269e55444ee09781d097eb51515..f935e4f2a6a0e706ee2ee3f6616b478e80aab4d8 100644
--- a/lib/models/RangeScale.php
+++ b/lib/models/RangeScale.php
@@ -20,7 +20,7 @@ class RangeScale extends QuestionnaireQuestion implements QuestionType
 {
     public static function getIcon(bool $active = false) : Icon
     {
-        return Icon::create(static::getIconShape(), $active ? 'clickable' : 'info');
+        return Icon::create(static::getIconShape(), $active ? Icon::ROLE_CLICKABLE : Icon::ROLE_INFO);
     }
 
     /**
@@ -64,7 +64,11 @@ class RangeScale extends QuestionnaireQuestion implements QuestionType
         $answer = $this->getMyAnswer();
 
         $answers = Request::getArray('answers');
-        $userAnswer = (array) $answers[$this->getId()]['answerdata']['answers'];
+        if (!empty($answers[$this->getId()])) {
+            $userAnswer = (array)$answers[$this->getId()]['answerdata']['answers'];
+        } else {
+            $userAnswer = [];
+        }
         $answer->setData(['answerdata' => ['answers' => $userAnswer ] ]);
         return $answer;
     }
diff --git a/lib/raumzeit/SingleDate.class.php b/lib/raumzeit/SingleDate.class.php
index 3268935d6278b9b0051022efc964948ed229c5c7..2e8f41eb4784858cb9b36879bc49d0309e55fe46 100644
--- a/lib/raumzeit/SingleDate.class.php
+++ b/lib/raumzeit/SingleDate.class.php
@@ -75,7 +75,7 @@ class SingleDate
         if ($data instanceOf CourseDate || $data instanceof CourseExDate) {
             $single_date_data = $data->toArray();
             $single_date_data['ex_termin'] = $data instanceOf CourseDate ? 0 : 1;
-            $single_date_data['resource_id'] = $data->room_booking->resource_id ?: '';
+            $single_date_data['resource_id'] = $data->room_booking->resource_id ?? '';
             if ($data instanceOf CourseDate) {
                 $single_date_data['related_persons'] = $data->dozenten->pluck('user_id');
                 $single_date_data['related_groups'] = $data->statusgruppen->pluck('statusgruppe_id');
@@ -147,9 +147,9 @@ class SingleDate
                 $after = $this->toString();
                 // logging
                 if ($before) {
-                    StudipLog::log('SINGLEDATE_CHANGE_TIME', $this->range_id, $this->id, $before . ' -> ' . $after);
+                    StudipLog::log('SINGLEDATE_CHANGE_TIME', $this->range_id, $this->termin_id, $before . ' -> ' . $after);
                 } else {
-                    StudipLog::log('SEM_ADD_SINGLEDATE', $this->range_id, $this->id, $after);
+                    StudipLog::log('SEM_ADD_SINGLEDATE', $this->range_id, $this->termin_id, $after);
                 }
 
                 return true;