diff --git a/drivers/pci/of.c b/drivers/pci/of.c
index c94d37ec55c87af38e7b6d1c9ccf46ea9baeb60c..f0929934bb7ac0c8a5d0dca4dbb197fb4700b6d3 100644
--- a/drivers/pci/of.c
+++ b/drivers/pci/of.c
@@ -55,7 +55,7 @@ struct device_node * __weak pcibios_get_phb_of_node(struct pci_bus *bus)
 	 */
 	if (bus->bridge->of_node)
 		return of_node_get(bus->bridge->of_node);
-	if (bus->bridge->parent->of_node)
+	if (bus->bridge->parent && bus->bridge->parent->of_node)
 		return of_node_get(bus->bridge->parent->of_node);
 	return NULL;
 }