diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c
index 7ff1535ffa0ab8c627df84f5158546da54c95b4f..d81393526b58a1eb94ae1e6c54c30fe7a0f95391 100644
--- a/src/slurmctld/node_scheduler.c
+++ b/src/slurmctld/node_scheduler.c
@@ -532,11 +532,11 @@ extern void deallocate_nodes(struct job_record *job_ptr, bool timeout,
 			job_ptr->node_cnt = 0;
 		} else {
 			bool set_fe_comp = false;
-			if (front_end_ptr->job_cnt_run)
+			if (front_end_ptr->job_cnt_run) {
 				front_end_ptr->job_cnt_run--;
-			else {
-				error("front_end %s job_cnt_run underflow",
-				      front_end_ptr->name);
+			} else {
+				error("%s: front_end %s job_cnt_run underflow",
+				      __func__, front_end_ptr->name);
 			}
 			if (front_end_ptr->job_cnt_run == 0) {
 				uint32_t state_flags;
diff --git a/src/slurmctld/read_config.c b/src/slurmctld/read_config.c
index 8906bdef721e7498964bc059d4664080c6af543f..3c3c39dd32956983b35b47ed132929755d3c3d58 100644
--- a/src/slurmctld/read_config.c
+++ b/src/slurmctld/read_config.c
@@ -1868,6 +1868,8 @@ static int _sync_nodes_to_comp_job(void)
 			if (accounting_enforce & ACCOUNTING_ENFORCE_LIMITS)
 				acct_policy_job_begin(job_ptr);
 
+			if (job_ptr->front_end_ptr)
+				job_ptr->front_end_ptr->job_cnt_run++;
 			deallocate_nodes(job_ptr, false, false, false);
 			/* The job in completing state at slurmctld restart or
 			 * reconfiguration, do not log completion again.