diff --git a/src/syncterm/syncterm.c b/src/syncterm/syncterm.c
index 53e9bb9b6c359af163e42ac6df6c82e9b5c4fffb..bccd11a93ba185ded6c9d379afa2c2f8366f107e 100644
--- a/src/syncterm/syncterm.c
+++ b/src/syncterm/syncterm.c
@@ -1615,22 +1615,24 @@ update_webget_progress(struct webget_request *reqs, size_t items, bool leaveup)
 				pos += added;
 			}
 			else {
-				char received[10];
-				char total[10];
-				byte_estimate_to_str(reqs[i].received_size, received, sizeof(received), 0, 3);
-				byte_estimate_to_str(reqs[i].remote_size, total, sizeof(total), 0, 3);
-				if (reqs[i].remote_size) {
-					int added = snprintf(&helpbuf[pos], sz - pos, "%9s/%-9s ", received, total);
-					pos += added;
-					if (sz > pos) {
-						int pct = reqs[i].received_size * 100 / reqs[i].remote_size;
-						int added = snprintf(&helpbuf[pos], sz - pos, "~%.*s~%.*s\r\n", pct, "", 10 - pct, "");
+				if (reqs[i].received_size > 0 || reqs[i].remote_size > 0) {
+					char received[10];
+					char total[10];
+					byte_estimate_to_str(reqs[i].received_size, received, sizeof(received), 0, 3);
+					byte_estimate_to_str(reqs[i].remote_size, total, sizeof(total), 0, 3);
+					if (reqs[i].remote_size) {
+						int added = snprintf(&helpbuf[pos], sz - pos, "%9s/%-9s ", received, total);
+						pos += added;
+						if (sz > pos) {
+							int pct = reqs[i].received_size * 100 / reqs[i].remote_size;
+							int added = snprintf(&helpbuf[pos], sz - pos, "~%.*s~%.*s\r\n", pct, "", 10 - pct, "");
+							pos += added;
+						}
+					}
+					else {
+						int added = snprintf(&helpbuf[pos], sz - pos, "%9s\r\n", received);
 						pos += added;
 					}
-				}
-				else {
-					int added = snprintf(&helpbuf[pos], sz - pos, "%9s\r\n", received);
-					pos += added;
 				}
 			}
 		}