diff --git a/lib/http.c b/lib/http.c
index a77cc0e4583f1671855bd8699415246da12e0212..589501450ee43246681f52491a258f79d4d4947b 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -399,6 +399,8 @@ CURLcode Curl_http(struct connectdata *conn)
     memset(http, 0, sizeof(struct HTTP));
     conn->proto.http = http;
   }
+  else
+    http = conn->proto.http;
 
   if ( (conn->protocol&(PROT_HTTP|PROT_FTP)) &&
        data->bits.upload) {