diff --git a/src/plugins/select/bluegene/bl_bgq/bridge_linker.cc b/src/plugins/select/bluegene/bl_bgq/bridge_linker.cc
index 0a861704a5ce39fe431119db92b08e9b2014beb0..2def294598519f86f779c9abdf4feea30f0cf47c 100644
--- a/src/plugins/select/bluegene/bl_bgq/bridge_linker.cc
+++ b/src/plugins/select/bluegene/bl_bgq/bridge_linker.cc
@@ -75,9 +75,14 @@ static void _setup_ba_mp(int level, uint16_t *coords,
 	Midplane::ConstPtr mp_ptr;
 	int i;
 
-	if (!bgqsys)
-		fatal("_setup_ba_mp: No ComputeHardware ptr");
-
+	if (!bgqsys) {
+		if (bg_recover != NOT_FROM_CONTROLLER)
+			fatal("_setup_ba_mp: No ComputeHardware ptr");
+		else {
+			error("_setup_ba_mp: can't talk to the database");
+			return;
+		}
+	}
 	if (level > SYSTEM_DIMENSIONS)
 		return;