j, total,
                            (int) ((j * 100) / total),
                            table, elapsed_sec, remaining_sec);
+
+           /*
+            * If the previous progress message is longer than the current
+            * one, add spaces to the current line to fully overwrite any
+            * remaining characters from the previous message.
+            */
+           if (prev_chars > chars)
+               fprintf(stderr, "%*c", prev_chars - chars, ' ');
+           fputc(eol, stderr);
+           prev_chars = chars;
        }
        /* let's not call the timing for each row, but only each 100 rows */
        else if (use_quiet && (j % 100 == 0))
                                (int) ((j * 100) / total),
                                table, elapsed_sec, remaining_sec);
 
+               /*
+                * If the previous progress message is longer than the current
+                * one, add spaces to the current line to fully overwrite any
+                * remaining characters from the previous message.
+                */
+               if (prev_chars > chars)
+                   fprintf(stderr, "%*c", prev_chars - chars, ' ');
+               fputc(eol, stderr);
+               prev_chars = chars;
+
                /* skip to the next interval */
                log_interval = (int) ceil(elapsed_sec / LOG_STEP_SECONDS);
            }
        }
-
-       /*
-        * If the previous progress message is longer than the current one,
-        * add spaces to the current line to fully overwrite any remaining
-        * characters from the previous message.
-        */
-       if (prev_chars > chars)
-           fprintf(stderr, "%*c", prev_chars - chars, ' ');
-       fputc(eol, stderr);
-       prev_chars = chars;
    }
 
    if (chars != 0 && eol != '\n')