diff --git a/src/plugins/priority/multifactor/priority_multifactor.c b/src/plugins/priority/multifactor/priority_multifactor.c
index 980f5e2092af8a0993e4336da23224c2adcc6950..56bb7b591b49100fff6511b6a1cdbc2935fba6a9 100644
--- a/src/plugins/priority/multifactor/priority_multifactor.c
+++ b/src/plugins/priority/multifactor/priority_multifactor.c
@@ -1058,24 +1058,30 @@ static int _apply_new_usage(struct job_record *job_ptr,
 	if (priority_debug) {
 		info("job %u ran for %g seconds with TRES counts of",
 		     job_ptr->job_id, run_delta);
-		for (i=0; i<slurmctld_tres_cnt; i++) {
-			if (!job_ptr->tres_alloc_cnt[i])
-				continue;
-			info("TRES %s: %"PRIu64,
-			     assoc_mgr_tres_name_array[i],
-			     job_ptr->tres_alloc_cnt[i]);
-		}
+		if (job_ptr->tres_alloc_cnt) {
+			for (i=0; i<slurmctld_tres_cnt; i++) {
+				if (!job_ptr->tres_alloc_cnt[i])
+					continue;
+				info("TRES %s: %"PRIu64,
+				     assoc_mgr_tres_name_array[i],
+				     job_ptr->tres_alloc_cnt[i]);
+			}
+		} else
+			info("No alloced TRES, state is %s",
+			     job_state_string(job_ptr->job_state));
 	}
 	/* get the time in decayed fashion */
 	run_decay = run_delta * pow(decay_factor, run_delta);
 	/* clang needs these memset to avoid a warning */
 	memset(tres_run_decay, 0, sizeof(tres_run_decay));
 	memset(tres_run_delta, 0, sizeof(tres_run_delta));
-	for (i=0; i<slurmctld_tres_cnt; i++) {
-		tres_run_delta[i] = tres_time_delta *
-			job_ptr->tres_alloc_cnt[i];
-		tres_run_decay[i] = (long double)run_decay *
-			(long double)job_ptr->tres_alloc_cnt[i];
+	if (job_ptr->tres_alloc_cnt) {
+		for (i=0; i<slurmctld_tres_cnt; i++) {
+			tres_run_delta[i] = tres_time_delta *
+				job_ptr->tres_alloc_cnt[i];
+			tres_run_decay[i] = (long double)run_decay *
+				(long double)job_ptr->tres_alloc_cnt[i];
+		}
 	}
 
 	assoc_mgr_lock(&locks);
@@ -1875,7 +1881,7 @@ extern bool decay_apply_new_usage(struct job_record *job_ptr,
 
 	/* apply new usage */
 	if (((flags & PRIORITY_FLAGS_CALCULATE_RUNNING) ||
-	     !IS_JOB_PENDING(job_ptr)) && job_ptr->tres_alloc_cnt &&
+	     !IS_JOB_PENDING(job_ptr)) &&
 	    job_ptr->start_time && job_ptr->assoc_ptr) {
 		if (!_apply_new_usage(job_ptr, g_last_ran, *start_time_ptr, 0))
 			return false;