diff --git a/app/controllers/file.php b/app/controllers/file.php
index 3b3c83dcace5fe0b08f6888793650664ca2ba0d9..c21fb89a33ad228e59264a856e57e780b307d7af 100644
--- a/app/controllers/file.php
+++ b/app/controllers/file.php
@@ -2119,8 +2119,7 @@ class FileController extends AuthenticatedController
             //collect file area objects by looking at their IDs:
             $file_area_objects = [];
             foreach ($ids as $id) {
-
-                if (Request::get("from_plugin")) {
+                if (Request::get('from_plugin')) {
                     $fa_object = $plugin->getFolder($id);
                     if (!$fa_object) {
                         $fa_object = $plugin->getPreparedFile($id, true);
@@ -2211,7 +2210,7 @@ class FileController extends AuthenticatedController
                     }
                 }
 
-                if ($file_ref) {
+                if (!empty($file_ref)) {
                     $current_folder = $file_ref->getFolderType();
                     $result = $current_folder ? $current_folder->deleteFile($element) : false;
                     if ($result && !is_array($result)) {
@@ -2227,7 +2226,7 @@ class FileController extends AuthenticatedController
                         $count_folders += $folder_subfolders;
                     }
                 }
-                if (is_array($result)) {
+                if (!empty($result) && is_array($result)) {
                     $errors = array_merge($errors, $result);
                 }
             }
diff --git a/app/views/course/timesrooms/_regularEvents.php b/app/views/course/timesrooms/_regularEvents.php
index 98b6f6fbb37db9d4cef618d7da470adaaf539108..62e59b212277bc0e4503cee79211071179cc2908 100644
--- a/app/views/course/timesrooms/_regularEvents.php
+++ b/app/views/course/timesrooms/_regularEvents.php
@@ -57,7 +57,7 @@
                             <? elseif (Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS) : ?>
                                 <? if (count($cycle['cycle']->room_requests) > 0): ?>
                                     <? $room_request = $cycle['cycle']->room_requests[0] ?>
-                                    <? if ($room_request->closed <= '1'): ?>
+                                    <? if ($room_request->closed <= '1' && !empty($cycle['cycle']->room_requests[0]->room)): ?>
                                         <strong>
                                             <?= sprintf(
                                                 _('Raum %s angefragt'),
diff --git a/app/views/resources/booking/_add_edit_form.php b/app/views/resources/booking/_add_edit_form.php
index 143ebf9c96fcc101fc4d2970510754d73f66f5ea..5ba611a1c1126bdd6e7b9877b4fd50ef9a7a6e93 100644
--- a/app/views/resources/booking/_add_edit_form.php
+++ b/app/views/resources/booking/_add_edit_form.php
@@ -1,7 +1,7 @@
 <? if ($show_form): ?>
     <form class="default create-booking-form" method="post"
           name="create_booking"
-          action="<?= ($booking !== null) && ($mode == 'edit')
+          action="<?= (isset($booking) && $mode === 'edit')
               ? $controller->link_for('resources/booking/edit/' . $booking->id)
               : $controller->link_for('resources/booking/add/' . $resource_or_clipboard_id . '/' . $booking_type);
           ?>"
@@ -436,7 +436,7 @@
         <div class="fieldset-row">
             <fieldset>
                 <legend><?= _('Personen') ?></legend>
-                <? if ($booking && $booking->assigned_user instanceof User): ?>
+                <? if (isset($booking->assigned_user)): ?>
                     <p>
                         <a href="<?= $controller->link_for(
                             'profile',
@@ -476,7 +476,7 @@
                         </div>
                     </label>
                 <? endif ?>
-                <? if ($booking && $booking->booking_user): ?>
+                <? if (isset($booking->booking_user)): ?>
                     <p style="margin-top:1em;margin-bottom:0;">
                         <?= htmlReady(
                             _('Gebucht von:')
@@ -545,7 +545,7 @@
                     <?= _('Vorhandene Buchungen überschreiben') ?>
                 </label>
             </fieldset>
-            <? if ($booking): ?>
+            <? if (isset($booking)): ?>
                 <? $intervals = $booking->getTimeIntervals(); ?>
                 <? if (count($intervals) > 1): ?>
                     <fieldset class="singledates">
diff --git a/app/views/resources/room_request/resolve_room_tr.php b/app/views/resources/room_request/resolve_room_tr.php
index b551129691c3e4cf6376bf1d1314b3e3d5750525..8fb21f876c559ee5f99f53cac74711616bd20fc8 100644
--- a/app/views/resources/room_request/resolve_room_tr.php
+++ b/app/views/resources/room_request/resolve_room_tr.php
@@ -111,7 +111,7 @@
                 $room_radio_name = 'selected_rooms[' . $range_index . ']';
                 ?>
                 <td>
-                    <? if ($available || $interval['booked_room'] == $room->id): ?>
+                    <? if ($available || (!empty($interval['booked_room']) && $interval['booked_room'] == $room->id)): ?>
                         <input type="radio" name="<?= htmlReady($room_radio_name) ?>"
                                class="text-bottom radio-<?= htmlReady($room->id) ?>"
                                value="<?= htmlReady($room->id) ?>"
diff --git a/lib/filesystem/CourseTopicFolder.php b/lib/filesystem/CourseTopicFolder.php
index 3d358366e7691bdbca61607ca9417ee7035c285c..efffb19be26c838e8f89b20d2c53894ff6880eba 100644
--- a/lib/filesystem/CourseTopicFolder.php
+++ b/lib/filesystem/CourseTopicFolder.php
@@ -100,7 +100,7 @@ class CourseTopicFolder extends PermissionEnabledFolder implements FolderType
         if ($topic === null) {
             return MessageBox::error(_('Es wurde kein Thema ausgewählt.'));
         } else {
-            if ($topic->id === $this->getTopic()->id) {
+            if ($this->getTopic() && $topic->id === $this->getTopic()->id) {
                 if (!$request['name']) {
                     return MessageBox::error(_('Die Bezeichnung des Ordners fehlt.'));
                 }
diff --git a/lib/models/resources/ResourceRequest.php b/lib/models/resources/ResourceRequest.php
index 88bf1197edc0021d768a8158da4ebb48efc877a9..5e5e19429b3c3fb249c386edcd33703fc8bfdfdf 100644
--- a/lib/models/resources/ResourceRequest.php
+++ b/lib/models/resources/ResourceRequest.php
@@ -993,8 +993,8 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
             $date = CourseDate::find($this->termin_id);
             $interval['range']       = 'CourseDate';
             $interval['range_id']    = $this->termin_id;
-            $interval['booked_room'] = $date->room_booking->resource_id;
-            $interval['booking_id']  = $date->room_booking->id;
+            $interval['booked_room'] = $date->room_booking->resource_id ?? null;
+            $interval['booking_id']  = $date->room_booking->id ?? null;
 
             if (!empty($interval)) {
                 return [