Index: /trunk/src/VBox/Devices/Bus/DevPciIch9.cpp
===================================================================
--- /trunk/src/VBox/Devices/Bus/DevPciIch9.cpp	(revision 64698)
+++ /trunk/src/VBox/Devices/Bus/DevPciIch9.cpp	(revision 64699)
@@ -1707,4 +1707,5 @@
     }
 
+    uint32_t uMaxSubNum = 0;
     for (uint32_t iBridge = 0; iBridge < pBus->cBridges; iBridge++)
     {
@@ -1714,6 +1715,7 @@
         PDEVPCIBUS pChildBus = PDMINS_2_DATA(pBridge->Int.s.CTX_SUFF(pDevIns), PDEVPCIBUS);
         ich9pciBiosInitBridgeTopology(pPciRoot, pChildBus, uBusSecondary, pChildBus->iBus);
-    }
-    PCIDevSetByte(pBridgeDev, VBOX_PCI_SUBORDINATE_BUS, pPciRoot->uPciBiosBus);
+        uMaxSubNum = RT_MAX(uMaxSubNum, pChildBus->iBus);
+    }
+    PCIDevSetByte(pBridgeDev, VBOX_PCI_SUBORDINATE_BUS, uMaxSubNum);
     Log2(("ich9pciBiosInitBridgeTopology: for bus %p: primary=%d secondary=%d subordinate=%d\n",
           pBus,
