diff --git a/app/controllers/resources/room.php b/app/controllers/resources/room.php
index 8eaa5527c2772359b866d45db11fbd63329e8f61..61fb9ef4af503d619a9537d64872e58f754afcee 100644
--- a/app/controllers/resources/room.php
+++ b/app/controllers/resources/room.php
@@ -233,12 +233,13 @@ class Resources_RoomController extends AuthenticatedController
 
             //We must convert the buildings to a hierarchy since rooms can be
             //placed multiple layers below a building:
-            $this->building_hierarchies = [];
+            $building_hierarchies = [];
             foreach ($buildings as $building) {
                 //Build the complete hierarchy from the root resource to
                 //the building:
-                $this->building_hierarchies[$building->id] = '/' . implode('/', ResourceManager::getHierarchyNames($building));
+                $building_hierarchies[$building->parent->id][$building->id] = '/' . implode('/', ResourceManager::getHierarchyNames($building));
             }
+            $this->building_hierarchies = array_reduce($building_hierarchies, 'array_merge', []);
 
             //In add-mode the category must be set before calling this method.
             if ($mode == 'edit') {