diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 255717bfd22bb0aa716b4e4dbd4d8204b46818d5..6eb912d3079604d234949a87951b4c886094244e 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -5765,6 +5765,10 @@ threadRun(void *arg)
 			}
 		}
 
+		/* under throttling we may have finished the last client above */
+		if (remains == 0)
+			break;
+
 		/* also wake up to print the next progress report on time */
 		if (progress && min_usec > 0 && thread->tid == 0)
 		{