timespent is now updated in every call to the progress meter update function
diff --git a/lib/progress.c b/lib/progress.c
index ac2cb23..122cb6a 100644
--- a/lib/progress.c
+++ b/lib/progress.c
@@ -212,14 +212,14 @@
 
   now = Curl_tvnow(); /* what time is it */
 
+  /* The exact time spent so far */
+  data->progress.timespent = Curl_tvdiff (now, data->progress.start);
+
   if(data->progress.lastshow == Curl_tvlong(now))
     return 0; /* never update this more than once a second if the end isn't 
                  reached */
   data->progress.lastshow = now.tv_sec;
 
-  /* The exact time spent so far */
-  data->progress.timespent = Curl_tvdiff (now, data->progress.start);
-
   /* The average download speed this far */
   data->progress.dlspeed = data->progress.downloaded/(data->progress.timespent!=0.0?data->progress.timespent:1.0);