diff --git a/src/plugins/select/bluegene/ba_common.c b/src/plugins/select/bluegene/ba_common.c
index 36bf6c5b28e85f01f35777a7a70a8209941df470..e2c85d8882871874067f0538e69dd02cb397a2c5 100644
--- a/src/plugins/select/bluegene/ba_common.c
+++ b/src/plugins/select/bluegene/ba_common.c
@@ -1614,3 +1614,21 @@ extern char *ba_passthroughs_string(uint16_t passthrough)
 	return pass;
 }
 
+/* This is defined here so we can get it on non-bluegene systems since
+ * it is needed in pack/unpack functions, and bluegene.c isn't
+ * compiled for non-bluegene machines, and it didn't make since to
+ * compile the whole file just for this one function.
+ */
+extern char *give_geo(uint16_t *int_geo, int dims, bool with_sep)
+{
+	char *geo = NULL;
+	int i;
+
+	for (i=0; i<dims; i++) {
+		if (geo && with_sep)
+			xstrcat(geo, "x");
+		xstrfmtcat(geo, "%c", alpha_num[int_geo[i]]);
+	}
+	return geo;
+}
+
diff --git a/src/plugins/select/bluegene/ba_common.h b/src/plugins/select/bluegene/ba_common.h
index e5739ce7868654968b5046b629bb80d40a9949d5..d21ae0af2a62c6ef97f41b20593d65cb8d363033 100644
--- a/src/plugins/select/bluegene/ba_common.h
+++ b/src/plugins/select/bluegene/ba_common.h
@@ -548,4 +548,6 @@ extern char *ba_set_ionode_str(bitstr_t *bitmap);
  * Caller MUST xfree() the returned value */
 extern char *ba_passthroughs_string(uint16_t passthrough);
 
+extern char *give_geo(uint16_t *int_geo, int dims, bool with_sep);
+
 #endif
diff --git a/src/plugins/select/bluegene/bg_node_info.c b/src/plugins/select/bluegene/bg_node_info.c
index 9e2278b1603b95937b7a541ebbd9bf916d473646..90fba7cd761704d8525ac4e2cad15f85a1468710 100644
--- a/src/plugins/select/bluegene/bg_node_info.c
+++ b/src/plugins/select/bluegene/bg_node_info.c
@@ -126,24 +126,6 @@ unpack_error:
 	return SLURM_ERROR;
 }
 
-/* This is defined here so we can get it on non-bluegene systems since
- * it is needed in pack/unpack functions, and bluegene.c isn't
- * compiled for non-bluegene machines, and it didn't make since to
- * compile the whole file just for this one function.
- */
-extern char *give_geo(uint16_t *int_geo, int dims, bool with_sep)
-{
-	char *geo = NULL;
-	int i;
-
-	for (i=0; i<dims; i++) {
-		if (geo && with_sep)
-			xstrcat(geo, "x");
-		xstrfmtcat(geo, "%c", alpha_num[int_geo[i]]);
-	}
-	return geo;
-}
-
 extern int select_nodeinfo_pack(select_nodeinfo_t *nodeinfo, Buf buffer,
 				uint16_t protocol_version)
 {
diff --git a/src/plugins/select/bluegene/bg_node_info.h b/src/plugins/select/bluegene/bg_node_info.h
index 4fea4fe15b5a9688db89b4788e0af7c85e055af3..d6ce37ca013acfeb85c9a9b7baa62c799e22f33c 100644
--- a/src/plugins/select/bluegene/bg_node_info.h
+++ b/src/plugins/select/bluegene/bg_node_info.h
@@ -59,8 +59,6 @@ struct select_nodeinfo {
 	List subgrp_list;
 };
 
-extern char *give_geo(uint16_t *int_geo, int dims, bool with_sep);
-
 extern int select_nodeinfo_pack(select_nodeinfo_t *nodeinfo, Buf buffer,
 				uint16_t protocol_version);