diff --git a/lib/delphi/src/Thrift.Transport.WinHTTP.pas b/lib/delphi/src/Thrift.Transport.WinHTTP.pas
index 540865f..262e38f 100644
--- a/lib/delphi/src/Thrift.Transport.WinHTTP.pas
+++ b/lib/delphi/src/Thrift.Transport.WinHTTP.pas
@@ -166,6 +166,9 @@
       Result.AddRequestHeader( pair.Key +': '+ pair.Value, WINHTTP_ADDREQ_FLAG_ADD);
     end;
 
+    // enable automatic gzip,deflate decompression
+    result.EnableAutomaticContentDecompression(TRUE);
+
     // AutoProxy support
     info := TErrorInfo.AutoProxy;
     result.TryAutoProxy( FUri);
diff --git a/lib/delphi/src/Thrift.WinHTTP.pas b/lib/delphi/src/Thrift.WinHTTP.pas
index 8179fae..8d677dd 100644
--- a/lib/delphi/src/Thrift.WinHTTP.pas
+++ b/lib/delphi/src/Thrift.WinHTTP.pas
@@ -305,9 +305,11 @@
   WINHTTP_OPTION_SERVER_SPN_USED = 106;
   WINHTTP_OPTION_PROXY_SPN_USED = 107;
   WINHTTP_OPTION_SERVER_CBT = 108;
+  // options for newer WinHTTP versions
+  WINHTTP_OPTION_DECOMPRESSION = 118;
   //
   WINHTTP_FIRST_OPTION = WINHTTP_OPTION_CALLBACK;
-  WINHTTP_LAST_OPTION = WINHTTP_OPTION_SERVER_CBT;
+  //WINHTTP_LAST_OPTION = WINHTTP_OPTION_SERVER_CBT;
 
   WINHTTP_OPTION_USERNAME = $1000;
   WINHTTP_OPTION_PASSWORD = $1001;
@@ -368,6 +370,12 @@
   WINHTTP_AUTH_TARGET_SERVER     = $00000000;
   WINHTTP_AUTH_TARGET_PROXY      = $00000001;
 
+  // options for WINHTTP_OPTION_DECOMPRESSION
+  WINHTTP_DECOMPRESSION_FLAG_GZIP    = $00000001;
+  WINHTTP_DECOMPRESSION_FLAG_DEFLATE = $00000002;
+  WINHTTP_DECOMPRESSION_FLAG_ALL     = WINHTTP_DECOMPRESSION_FLAG_GZIP
+                                    or WINHTTP_DECOMPRESSION_FLAG_DEFLATE;
+
   // values for WINHTTP_OPTION_SECURITY_FLAGS
 
   // query only
@@ -478,12 +486,13 @@
   IWinHTTPConnection = interface;
 
   IWinHTTPRequest = interface
-    ['{0B7D095E-BB3D-4444-8686-5536E7D6437B}']
+    ['{F65952F2-2F3B-47DC-B524-F1694E6D2AD7}']
     function  Handle : HINTERNET;
     function  Connection : IWinHTTPConnection;
     function  AddRequestHeader( const aHeader : string; const addflag : DWORD = WINHTTP_ADDREQ_FLAG_ADD) : Boolean;
     function  SetTimeouts( const aResolveTimeout, aConnectTimeout, aSendTimeout, aReceiveTimeout : Int32) : Boolean;
     procedure TryAutoProxy( const aUrl : string);
+    procedure EnableAutomaticContentDecompression( const aEnable : Boolean);
     function  SendRequest( const pBuf : Pointer; const dwBytes : DWORD; const dwExtra : DWORD = 0) : Boolean;
     function  WriteExtraData( const pBuf : Pointer; const dwBytes : DWORD) : DWORD;
     function  FlushAndReceiveResponse : Boolean;
@@ -601,6 +610,7 @@
     function  AddRequestHeader( const aHeader : string; const addflag : DWORD = WINHTTP_ADDREQ_FLAG_ADD) : Boolean;
     function  SetTimeouts( const aResolveTimeout, aConnectTimeout, aSendTimeout, aReceiveTimeout : Int32) : Boolean;
     procedure TryAutoProxy( const aUrl : string);
+    procedure EnableAutomaticContentDecompression( const aEnable : Boolean);
     function  SendRequest( const pBuf : Pointer; const dwBytes : DWORD; const dwExtra : DWORD = 0) : Boolean;
     function  WriteExtraData( const pBuf : Pointer; const dwBytes : DWORD) : DWORD;
     function  FlushAndReceiveResponse : Boolean;
@@ -1033,6 +1043,20 @@
 end;
 
 
+procedure TWinHTTPRequestImpl.EnableAutomaticContentDecompression( const aEnable : Boolean);
+// Enable automatic gzip,deflate decompression on systems that support this option
+// From the docs: WinHTTP will automatically set an appropriate Accept-Encoding header,
+// overriding any value supplied by the caller -> we don't have to do this
+// Available on Win 8.1 or higher
+var value : DWORD;
+begin
+  if aEnable
+  then value := WINHTTP_DECOMPRESSION_FLAG_ALL
+  else value := 0;
+
+  // ignore returned value, the option is not supported with older WinHTTP versions
+  WinHttpSetOption( Handle, WINHTTP_OPTION_DECOMPRESSION, @value, SizeOf(DWORD));
+end;
 
 
 function TWinHTTPRequestImpl.SendRequest( const pBuf : Pointer; const dwBytes, dwExtra : DWORD) : Boolean;
