diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 3bc149b848a88e5bb2cbd8603d1f6ac75ab3c60c..966514010974ca1b9ed5684d1e47d2735a74bbf5 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -475,7 +475,7 @@ void pci_read_bridge_bases(struct pci_bus *child)
 
 	if (dev->transparent) {
 		pci_bus_for_each_resource(child->parent, res, i) {
-			if (res) {
+			if (res && res->flags) {
 				pci_bus_add_resource(child, res,
 						     PCI_SUBTRACTIVE_DECODE);
 				dev_printk(KERN_DEBUG, &dev->dev,