diff --git a/lib/multi.c b/lib/multi.c
index 9273f8d..5326ac7 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -1570,7 +1570,8 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles)
   struct Curl_one_easy *easy;
   CURLMcode returncode=CURLM_OK;
   struct Curl_tree *t;
-
+  struct timeval now = Curl_tvnow();
+ 
   if(!GOOD_MULTI_HANDLE(multi))
     return CURLM_BAD_HANDLE;
 
@@ -1609,8 +1610,6 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles)
    * that already passed/handled expire times are removed from the splay.
    */
   do {
-    struct timeval now = Curl_tvnow();
-
     multi->timetree = Curl_splaygetbest(now, multi->timetree, &t);
     if(t) {
       struct SessionHandle *d = t->payload;
