diff --git a/src/sbbs3/con_out.cpp b/src/sbbs3/con_out.cpp
index 4abcc4966ef411511b73585275f4361a1393a3c2..c96f355194b229ba9079dbd6060e2fab79d7e65a 100644
--- a/src/sbbs3/con_out.cpp
+++ b/src/sbbs3/con_out.cpp
@@ -1399,7 +1399,7 @@ void sbbs_t::progress(const char* text, int count, int total, int interval)
 	if(cfg.node_num == 0)
 		return;	// Don't output this for events
 	double now = xp_timer();
-	if((now - last_progress) * 1000 < interval)
+	if(count < total && (now - last_progress) * 1000 < interval)
 		return;
 	if(text == NULL) text = "";
 	float pct = total ? ((float)count/total)*100.0F : 100.0F;