diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c
index 4a52008c9a5872016d381ce6b4ffac5fb8d0c439..f8f4626389d2dd0eb80dd11b5a2fc017f068b289 100644
--- a/src/slurmctld/node_scheduler.c
+++ b/src/slurmctld/node_scheduler.c
@@ -164,6 +164,7 @@ void deallocate_nodes(struct job_record *job_ptr, bool timeout)
 			/* We issue the KILL RPC, but don't verify on DOWN nodes */
 			down_node_cnt++;
 			bit_clear(job_ptr->node_bitmap, i);
+			job_ptr->node_cnt--;
 		}
 		if ((agent_args->node_count + 1) > buf_rec_size) {
 			buf_rec_size += 32;