diff --git a/src/plugins/select/bluegene/block_allocator/block_allocator.c b/src/plugins/select/bluegene/block_allocator/block_allocator.c
index ec715cb05cae513f21156ce31581b3c9e2f038f4..a494ada0bcc45811592f5922cc7034f1391fea5d 100644
--- a/src/plugins/select/bluegene/block_allocator/block_allocator.c
+++ b/src/plugins/select/bluegene/block_allocator/block_allocator.c
@@ -748,16 +748,21 @@ extern int new_ba_request(ba_request_t* ba_request)
 			      __LINE__, geo[X], geo[Y], geo[Z],
 			      ba_request->size);
 
+/* Having the functions pow and powf on an aix system doesn't seem to
+ * link well, so since this is only for aix and this doesn't really
+ * need to be there just don't allow this extra calculation.
+ */
+#ifndef HAVE_AIX
 		/* see if We can find a cube or square root of the
 		   size to make an easy cube */
-		for(i=0;i<cluster_dims-1;i++) {
+		for(i=0; i<cluster_dims-1; i++) {
 			sz = powf((float)ba_request->size,
 				  (float)1/(cluster_dims-i));
-			if(pow(sz,(cluster_dims-i))==ba_request->size)
+			if(pow(sz,(cluster_dims-i)) == ba_request->size)
 				break;
 		}
 
-		if(i<cluster_dims-1) {
+		if(i < (cluster_dims-1)) {
 			/* we found something that looks like a cube! */
 			i3=i;
 			for (i=0; i<i3; i++)
@@ -781,6 +786,7 @@ extern int new_ba_request(ba_request_t* ba_request)
 				      __LINE__, geo[X], geo[Y], geo[Z],
 				      ba_request->size);
 		}
+#endif //HAVE_AIX
 	}
 
 endit:
@@ -868,7 +874,7 @@ extern void ba_init(node_info_msg_t *node_info_ptr, bool sanity_check)
 	char *numeric = NULL;
 	int i, j, k;
 	slurm_conf_node_t *node = NULL, **ptr_array;
-	int coords[cluster_dims];
+	int coords[HIGHEST_DIMENSIONS];
 
 #ifdef HAVE_BG_FILES
 	rm_size3D_t bp_size;
@@ -929,12 +935,10 @@ extern void ba_init(node_info_msg_t *node_info_ptr, bool sanity_check)
 			REAL_DIM_SIZE[Z] = DIM_SIZE[Z] = 1;
 		}
 		goto setup_done;
-	} else if(working_cluster_rec) {
-		if(working_cluster_rec->dim_size) {
-			for(i=0; i<working_cluster_rec->dimensions; i++) {
-				DIM_SIZE[i] = working_cluster_rec->dim_size[i];
-				REAL_DIM_SIZE[i] = DIM_SIZE[i];
-			}
+	} else if(working_cluster_rec && working_cluster_rec->dim_size) {
+		for(i=0; i<working_cluster_rec->dimensions; i++) {
+			DIM_SIZE[i] = working_cluster_rec->dim_size[i];
+			REAL_DIM_SIZE[i] = DIM_SIZE[i];
 		}
 		goto setup_done;
 	}