diff --git a/src/plugins/select/bluegene/bl_bgq/bridge_status.cc b/src/plugins/select/bluegene/bl_bgq/bridge_status.cc
index db30d1ca2a4eba329ebc5f909cf9569c308daebf..56f1134ad2850d9958a7fdf34556b68ea39077d1 100644
--- a/src/plugins/select/bluegene/bl_bgq/bridge_status.cc
+++ b/src/plugins/select/bluegene/bl_bgq/bridge_status.cc
@@ -773,6 +773,13 @@ static void _handle_midplane_update(ComputeHardware::ConstPtr bgq,
 		_handle_bad_midplane(ba_mp->coord_str, mp_ptr->getState());
 		/* no reason to continue */
 		return;
+	} else {
+		Node::ConstPtrs vec = getMidplaneNodes(mp_ptr->getLocation());
+		BOOST_FOREACH(const Node::ConstPtr& cnode_ptr, vec) {
+			_handle_node_change(ba_mp,
+					    cnode_ptr->getLocation(),
+					    cnode_ptr->getState());
+		}
 	}
 
 	for (i=0; i<16; i++) {
@@ -787,15 +794,6 @@ static void _handle_midplane_update(ComputeHardware::ConstPtr bgq,
 			_handle_bad_nodeboard(
 				nodeboard->getLocation().substr(7,3).c_str(),
 				ba_mp->coord_str, nodeboard->getState());
-		else {
-			Node::ConstPtrs vec =
-				getNodes(nodeboard->getLocation());
-			BOOST_FOREACH(const Node::ConstPtr& cnode_ptr, vec) {
-				_handle_node_change(ba_mp,
-						    cnode_ptr->getLocation(),
-						    cnode_ptr->getState());
-			}
-		}
 	}
 
 	for (dim=Dimension::A; dim<=Dimension::D; dim++) {