diff --git a/src/partition_allocator/partition_allocator.c b/src/partition_allocator/partition_allocator.c
index 6e419d78caa907ddfb8bce2989815e6d56a7b572..999095170eb0a0a0c35579fa54f8ce7c387031a5 100644
--- a/src/partition_allocator/partition_allocator.c
+++ b/src/partition_allocator/partition_allocator.c
@@ -898,9 +898,10 @@ extern int *find_bp_loc(char* bp_id)
 	pa_bp_map_t *bp_map = NULL;
 	ListIterator itr;
 	
-	if(!bp_map_list)
-		set_bp_map();
-		
+	if(!bp_map_list) {
+		if(set_bp_map() == -1)
+			return NULL;
+	}
 	itr = list_iterator_create(bp_map_list);
 	while ((bp_map = list_next(itr)) != NULL)
 		if (!strcmp(bp_map->bp_id, bp_id)) 
@@ -932,8 +933,10 @@ extern char *find_bp_rack_mid(char* xyz)
 	coord[X] = number / 100;
 	coord[Y] = (number % 100) / 10;
 	coord[Z] = (number % 10);
-	if(!bp_map_list)
-		set_bp_map();
+	if(!bp_map_list) {
+		if(set_bp_map() == -1)
+			return NULL;
+	}
 	
 	itr = list_iterator_create(bp_map_list);
 	while ((bp_map = list_next(itr)) != NULL)
diff --git a/src/plugins/select/bluegene/partition_sys.c b/src/plugins/select/bluegene/partition_sys.c
index 2fd8fd390e21bb94a1f6aad8161e9f6138a8469d..7514f9b8860dd0f200b0ad656f614223fec22cd3 100755
--- a/src/plugins/select/bluegene/partition_sys.c
+++ b/src/plugins/select/bluegene/partition_sys.c
@@ -331,6 +331,9 @@ int read_bgl_partitions()
 			
 			coord = find_bp_loc(bpid);
 			
+			if(!coord)
+				fatal("No contact with db2. Shutting down.");
+				
 			snprintf(node_name_tmp, sizeof(node_name_tmp), 
 				"bgl%d%d%d", 
 				coord[X], coord[Y], coord[Z]);