diff --git a/hw/pci.c b/hw/pci.c
index a7ff566..25634ed 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -298,6 +298,7 @@ static void pci_unregister_secondary_bus(PCIBus *bus)
 {
     assert(QLIST_EMPTY(&bus->child));
     QLIST_REMOVE(bus, sibling);
+    qbus_free(&bus->qbus);
 }
 
 int pci_bus_num(PCIBus *s)
