diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php
index b6568a4f4eaaa5c8daf11eaef2b9fbaef2515956..c54b6683dc849d206ae05f89083dd77b322a86b1 100644
--- a/app/controllers/resources/room_request.php
+++ b/app/controllers/resources/room_request.php
@@ -53,7 +53,8 @@ class Resources_RoomRequestController extends AuthenticatedController
             if (Request::get('reset_filter')) {
                 $this->filter = [
                     'marked'       => -1,
-                    'own_requests' => 1
+                    'own_requests' => 1,
+                    'request_status' => 'open'
                 ];
             } else {
                 if (Request::option('institut_id')) {
@@ -62,6 +63,9 @@ class Resources_RoomRequestController extends AuthenticatedController
                 if (Request::option('semester_id')) {
                     $GLOBALS['user']->cfg->store('MY_COURSES_SELECTED_CYCLE', Request::option('semester_id'));
                 }
+                if (Request::option('request_status')) {
+                    $this->filter['request_status'] = Request::get('request_status');
+                }
                 if (!Semester::find($GLOBALS['user']->cfg->MY_COURSES_SELECTED_CYCLE)) {
                     $GLOBALS['user']->cfg->MY_COURSES_SELECTED_CYCLE = Semester::findCurrent()->id;
                 }
@@ -183,7 +187,15 @@ class Resources_RoomRequestController extends AuthenticatedController
      */
     protected function getFilteredRoomRequests()
     {
-        $sql = "resource_requests.closed < '1' AND (resource_id IN ( :room_ids) ";
+        $sql = '';
+        if ($this->filter['request_status'] == 'closed') {
+            $sql .= "resource_requests.closed IN ('1', '2') ";
+        } elseif ($this->filter['request_status'] == 'denied') {
+            $sql .= "resource_requests.closed = '3' ";
+        } else {
+            $sql .= "resource_requests.closed < '1' ";
+        }
+        $sql .= "AND (resource_id IN ( :room_ids) ";
         $sql_params = [
             'room_ids' => $this->selected_room_ids
         ];
@@ -408,6 +420,20 @@ class Resources_RoomRequestController extends AuthenticatedController
         $semester_selector->setSelection($this->filter['semester']);
         $sidebar->addWidget($semester_selector);
 
+        $request_status_selector = new SelectWidget(
+            _('Status der Anfrage'),
+            $this->overviewURL(),
+            'request_status'
+        );
+        $request_status_selector->setOptions(
+            [
+                'open' => _('offen'),
+                'closed' => _('bearbeitet'),
+                'denied' => _('abgelehnt')
+            ]
+        );
+        $sidebar->addWidget($request_status_selector);
+
         $list = new SelectWidget(
             _('Veranstaltungstypfilter'),
             $this->overviewURL(),
@@ -608,6 +634,8 @@ class Resources_RoomRequestController extends AuthenticatedController
             $this->entries_per_page
         );
         $this->requests = $requests;
+
+        $this->request_status = $this->filter['request_status'];
     }
 
     public function index_action($request_id = null)
diff --git a/app/views/resources/room_request/overview.php b/app/views/resources/room_request/overview.php
index 4a92208d0a53e7f849ee10623b7daf5e81736b42..7e089af3373010ad8ddb4fd041cfc05a068174d6 100644
--- a/app/views/resources/room_request/overview.php
+++ b/app/views/resources/room_request/overview.php
@@ -3,14 +3,34 @@
           action="<?= $controller->link_for('room_request/assign') ?>">
         <table class="default sortable-table request-list" data-sortlist="[[8, 0]]">
             <caption>
-                <?= sprintf(
-                    ngettext(
-                        'Anfragenliste (%d Anfrage)',
-                        'Anfragenliste (%d Anfragen)',
+                <? if ($request_status == 'closed') : ?>
+                    <?= sprintf(
+                        ngettext(
+                            'Anfragenliste (%d bearbeitete Anfrage)',
+                            'Anfragenliste (%d bearbeitete Anfragen)',
+                            $count_requests
+                        ),
                         $count_requests
-                    ),
-                    $count_requests
-                ) ?>
+                    ) ?>
+                <? elseif ($request_status == 'denied') : ?>
+                    <?= sprintf(
+                        ngettext(
+                            'Anfragenliste (%d abgelehnte Anfrage)',
+                            'Anfragenliste (%d abgelehnte Anfragen)',
+                            $count_requests
+                        ),
+                        $count_requests
+                    ) ?>
+                <? else : ?>
+                    <?= sprintf(
+                        ngettext(
+                            'Anfragenliste (%d Anfrage)',
+                            'Anfragenliste (%d Anfragen)',
+                            $count_requests
+                        ),
+                        $count_requests
+                    ) ?>
+                <? endif ?>
             </caption>
             <thead>
                 <tr>