diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index e229bdbfd3197c83c07a69b26bd938cc3d9298f7..dce3232c0e3a2b51e64a9a7067620bde7afe06c0 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -2082,8 +2082,8 @@ static DWORD send_request( struct request *request, const WCHAR *headers, DWORD
     int bytes_sent;
     DWORD ret, len;
 
-    clear_response_headers( request );
     drain_content( request );
+    clear_response_headers( request );
 
     if (session->agent)
         process_header( request, L"User-Agent", session->agent, WINHTTP_ADDREQ_FLAG_ADD_IF_NEW, TRUE );