diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c
index f873c76992ceed35e70df438c65da18bd76bf06b..e38db4b18e27be95726ad0f5d497b82294030a49 100644
--- a/src/slurmctld/controller.c
+++ b/src/slurmctld/controller.c
@@ -706,7 +706,7 @@ static void *_slurmctld_background(void *no_data)
 	static time_t last_timelimit_time;
 	static time_t last_assert_primary_time;
 	time_t now;
-	int i, ping_interval;
+	int cnt, i, ping_interval;
 	DEF_TIMERS;
 
 	/* Locks: Read config */
@@ -844,11 +844,12 @@ static void *_slurmctld_background(void *no_data)
 	}
 
 	for (i=0; i<20; i++) {
-		if (agent_retry(0) == 0)
+		cnt = agent_retry(0);
+		if (cnt == 0)
 			break;
 		usleep(1000);
 	}
-	if (agent_retry(0))
+	if (cnt)
 		error("terminating with %d pending message agent requests", cnt);
 	debug3("_slurmctld_background shutting down");