diff --git a/lib/http2.c b/lib/http2.c
index bd35d62084573c8f6f76d024db731c8a93de99a7..baf36cc4ca7be1f2f274fbca7478f33678ea9724 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -410,6 +410,7 @@ CURLcode Curl_http2_request_upgrade(Curl_send_buffer *req,
   free(base64);
 
   k->upgr101 = UPGR101_REQUESTED;
+  k->auto_decoding = GZIP;
 
   return result;
 }
@@ -640,6 +641,8 @@ int Curl_http2_switched(struct connectdata *conn)
   httpc->data = NULL;
   httpc->datalen = 0;
 
+  conn->data->req.auto_decoding = GZIP;
+
   /* Put place holder for status line */
   Curl_add_buffer(httpc->header_recvbuf, "HTTP/2.0 200\r\n", 14);