diff --git a/src/plugins/select/bluegene/select_bluegene.c b/src/plugins/select/bluegene/select_bluegene.c
index 9b902d8eb74c844e2d47a3dd9aeee068f2d26da1..2b77e465bc46e7c9fb05bc0ee11badea03f1f1c1 100644
--- a/src/plugins/select/bluegene/select_bluegene.c
+++ b/src/plugins/select/bluegene/select_bluegene.c
@@ -948,8 +948,20 @@ static int _validate_config_blocks(List curr_block_list,
 			if ((bg_record->conn_type[0] < SELECT_SMALL)
 			    && (init_bg_record->conn_type[0] < SELECT_SMALL)) {
 				for (dim = 0; dim < SYSTEM_DIMENSIONS; dim++) {
-					if (bg_record->conn_type[dim]
-					    != init_bg_record->conn_type[dim])
+					/* Only look at how far we
+					   have set.  The bg_record
+					   should of been set up
+					   correctly in the
+					   parse_blockreq() function.
+					*/
+					if (bg_record->conn_type[dim] ==
+					    (uint16_t)NO_VAL) {
+						dim = SYSTEM_DIMENSIONS;
+						break;
+					}
+
+					if (bg_record->conn_type[dim] !=
+					    init_bg_record->conn_type[dim])
 						break; /* wrong conn_type */
 				}
 				if (dim < SYSTEM_DIMENSIONS)