diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php
index 0c1b6eec286cf9755f57fc33dd1284b46a7cac55..0986dbce97cea8761c382526a1d1dd4753b78bf1 100644
--- a/app/controllers/resources/room_request.php
+++ b/app/controllers/resources/room_request.php
@@ -210,15 +210,31 @@ class Resources_RoomRequestController extends AuthenticatedController
 
         if ($this->filter['request_periods'] == 'periodic') {
             // get rid of requests for single dates AND requests for multiple single dates
+            // also check if there exists cycle dates in case it is a request for the whole seminar
             $sql .= " AND resource_requests.termin_id = ''
             AND NOT EXISTS
             (
                 SELECT * FROM resource_request_appointments
                 WHERE resource_request_appointments.request_id = resource_requests.id
+            )
+            AND EXISTS (
+                SELECT * FROM seminar_cycle_dates
+                WHERE seminar_cycle_dates.seminar_id = resource_requests.course_id
             )";
         }
         if ($this->filter['request_periods'] == 'aperiodic') {
-            $sql .= " AND resource_requests.termin_id <> '' ";
+            $sql .= " AND (
+                resource_requests.termin_id <> ''
+                OR EXISTS
+                (
+                    SELECT * FROM resource_request_appointments
+                    WHERE resource_request_appointments.request_id = resource_requests.id
+                )
+                OR NOT EXISTS (
+                    SELECT * FROM seminar_cycle_dates
+                    WHERE seminar_cycle_dates.seminar_id = resource_requests.course_id
+                )
+            )";
         }