diff --git a/src/sacct/print.c b/src/sacct/print.c
index 9f21bb3b1e1a071f4de5027e43b1f3d704160c36..f552619d344b5be370eba7035e1133df2018b7dd 100644
--- a/src/sacct/print.c
+++ b/src/sacct/print.c
@@ -215,6 +215,36 @@ static void _xlate_task_str(slurmdb_job_rec_t *job_ptr)
 	job_ptr->array_task_str = out_buf;
 }
 
+static void
+print_reservation(slurmdb_job_rec_t *job)
+{
+	char *temp = slurm_get_cluster_name();
+	char *tmp_char;
+	int tmp_int;
+	slurmdb_reservation_cond_t *reservation_cond;
+	List resv_list = NULL;
+
+	tmp_int = job->resvid;
+	tmp_char = job->account;
+
+	reservation_cond = xmalloc(sizeof(slurmdb_reservation_cond_t));
+
+	reservation_cond->with_usage = 1;
+	reservation_cond->cluster_list = list_create(slurm_destroy_char);
+	list_append(reservation_cond->cluster_list, temp);
+	reservation_cond->name_list = list_create(slurm_destroy_char);
+	reservation_cond->id_list = list_create(slurm_destroy_char);
+
+	sprintf(tmp_char, "%d", tmp_int);
+	slurm_addto_char_list(reservation_cond->id_list,
+			      tmp_char);
+	resv_list = slurmdb_reservations_get(acct_db_conn, reservation_cond);
+	tmp_char = _find_reservation_name_from_list(resv_list,
+						    tmp_int);
+	if (resv_list)
+		list_destroy(resv_list);
+}
+
 void print_fields(type_t type, void *object)
 {
 	if (!object) {
@@ -1508,29 +1538,11 @@ void print_fields(type_t type, void *object)
 		case PRINT_RESERVATION:
 			switch(type) {
 			case JOB:
-				if (job->resvid)
-					{
-					char *temp = slurm_get_cluster_name();
-					tmp_int = job->resvid;
-					tmp_char = job->account;
-					slurmdb_reservation_cond_t *reservation_cond = xmalloc(sizeof(slurmdb_reservation_cond_t));
-					List resv_list = NULL;
-					reservation_cond->with_usage = 1;
-					reservation_cond->cluster_list = list_create(slurm_destroy_char);
-					if (temp)
-						list_append(reservation_cond->cluster_list, temp);
-					reservation_cond->name_list = list_create(slurm_destroy_char);
-					reservation_cond->id_list=list_create(slurm_destroy_char);
-					sprintf(tmp_char,"%d", tmp_int);
-					slurm_addto_char_list(reservation_cond->id_list, tmp_char);
-					resv_list = slurmdb_reservations_get(
-						acct_db_conn, reservation_cond);
-					tmp_char = _find_reservation_name_from_list(resv_list,
-						tmp_int);
-					if (resv_list) list_destroy(resv_list);
-					}
-				else
+				if (job->resvid) {
+					print_reservation(job);
+				} else {
 					tmp_char = NULL;
+				}
 				break;
 			case JOBSTEP:
 				tmp_char = NULL;