diff --git a/src/plugins/select/bluegene/bluegene.c b/src/plugins/select/bluegene/bluegene.c
index 9d8a73af3432250642f936195c401ec55a5c4e98..d8ec1e9171e6f4b3a406496a757a5ea70a6d4d80 100644
--- a/src/plugins/select/bluegene/bluegene.c
+++ b/src/plugins/select/bluegene/bluegene.c
@@ -230,7 +230,7 @@ int _copy_slurm_partition_list()
 			}
 
 			bgl_record->nodes = xstrdup(cur_nodes);
-			bgl_record->slurm_part_id = slurm_part->name;
+			bgl_record->slurm_part_id = xstrdup(slurm_part->name);
 			bgl_record->part_type = (rm_partition_t*) xmalloc(sizeof(rm_partition_t));
 			if (!bgl_record->part_type){
 				error("_copy_slurm_partition_list: not enough memory for bgl_record->part_type");