diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php
index 97ba8ac8265d53109fe441aab6f581ea92be10ef..e15a432a244f93162cbe38c6978a88b79a3a05fd 100644
--- a/app/controllers/resources/room_request.php
+++ b/app/controllers/resources/room_request.php
@@ -1765,6 +1765,7 @@ class Resources_RoomRequestController extends AuthenticatedController
             }
 
             $errors = [];
+            $warnings = [];
             $bookings = [];
 
             foreach ($this->selected_rooms as $range_str => $room_id) {
@@ -1863,6 +1864,7 @@ class Resources_RoomRequestController extends AuthenticatedController
                         return;
                     }
                     if ($metadate->dates) {
+                        $overlap_messages = [];
                         foreach ($metadate->dates as $date) {
                             if ($date->room_booking->resource_id != $room_id) {
                                 try {
@@ -1883,12 +1885,20 @@ class Resources_RoomRequestController extends AuthenticatedController
                                     if ($booking instanceof ResourceBooking) {
                                         $bookings[] = $booking;
                                     }
+                                } catch (ResourceBookingException $e) {
+                                    $overlap_messages[] = $e->getMessage();
                                 } catch (Exception $e) {
                                     $errors[] = $e->getMessage();
                                     continue;
                                 }
                             }
                         }
+                        if (count($overlap_messages) == count($metadate->dates)) {
+                            //The booking could not be saved at all.
+                            $errors = array_merge($errors, $overlap_messages);
+                        } else {
+                            $warnings = array_merge($warnings, $overlap_messages);
+                        }
                     }
                 } elseif ($range_data[0] == 'User') {
                     $user = User::find($range_data[1]);
@@ -1943,6 +1953,12 @@ class Resources_RoomRequestController extends AuthenticatedController
                     _('Es traten Fehler beim Auflösen der Anfrage auf!'),
                     $errors
                 );
+            } else if ($warnings && !$force_resolve && !$save_only) {
+                PageLayout::postWarning(
+                    _('Es wurden nicht für alle Termine der Anfrage Räume ausgewählt! Soll die Anfrage wirklich aufgelöst werden?'),
+                    $warnings
+                );
+                $this->show_force_resolve_button = true;
             } else if (!$save_only) {
                 //No errors: We can close the request.