diff --git a/mercurial/hgweb/request.py b/mercurial/hgweb/request.py
--- a/mercurial/hgweb/request.py
+++ b/mercurial/hgweb/request.py
@@ -325,6 +325,9 @@
     if 'CONTENT_LENGTH' in env and 'HTTP_CONTENT_LENGTH' not in env:
         headers['Content-Length'] = env['CONTENT_LENGTH']
 
+    if 'CONTENT_TYPE' in env and 'HTTP_CONTENT_TYPE' not in env:
+        headers['Content-Type'] = env['CONTENT_TYPE']
+
     bodyfh = env['wsgi.input']
     if 'Content-Length' in headers:
         bodyfh = util.cappedreader(bodyfh, int(headers['Content-Length']))