=== modified file 'src/HttpHeader.cc'
--- src/HttpHeader.cc	2014-02-19 17:01:30 +0000
+++ src/HttpHeader.cc	2014-02-28 02:30:52 +0000
@@ -136,7 +136,7 @@
     {"Public", HDR_PUBLIC, ftStr},
     {"Range", HDR_RANGE, ftPRange},
     {"Referer", HDR_REFERER, ftStr},
-    {"Request-Range", HDR_REQUEST_RANGE, ftPRange},	/* usually matches HDR_RANGE */
+    {"Request-Range", HDR_REQUEST_RANGE, ftStr},/* legacy header */
     {"Retry-After", HDR_RETRY_AFTER, ftStr},	/* for now (ftDate_1123 or ftInt!) */
     {"Server", HDR_SERVER, ftStr},
     {"Set-Cookie", HDR_SET_COOKIE, ftStr},
@@ -273,7 +273,7 @@
 static HttpHeaderMask HopByHopHeadersMask;
 static http_hdr_type HopByHopHeadersArr[] = {
     HDR_CONNECTION, HDR_HTTP2_SETTINGS, HDR_KEEP_ALIVE, /*HDR_PROXY_AUTHENTICATE,*/ HDR_PROXY_AUTHORIZATION,
-    HDR_TE, HDR_TRAILER, HDR_TRANSFER_ENCODING, HDR_UPGRADE, HDR_PROXY_CONNECTION
+    HDR_TE, HDR_TRAILER, HDR_TRANSFER_ENCODING, HDR_UPGRADE, HDR_PROXY_CONNECTION, HDR_REQUEST_RANGE
 };
 
 /* header accounting */
@@ -1398,14 +1398,10 @@
 HttpHeader::getRange() const
 {
     HttpHdrRange *r = NULL;
-    HttpHeaderEntry *e;
-    /* some clients will send "Request-Range" _and_ *matching* "Range"
-     * who knows, some clients might send Request-Range only;
-     * this "if" should work correctly in both cases;
-     * hopefully no clients send mismatched headers! */
-
-    if ((e = findEntry(HDR_RANGE)) ||
-            (e = findEntry(HDR_REQUEST_RANGE))) {
+    /* Yes some clients may send Request-Range headers.
+     * Do not get it confused with the Range feature in HTTP.
+     */
+    if (HttpHeaderEntry *e = findEntry(HDR_RANGE)) {
         r = HttpHdrRange::ParseCreate(&e->value);
         httpHeaderNoteParsedEntry(e->id, e->value, !r);
     }

=== modified file 'src/client_side_request.cc'
--- src/client_side_request.cc	2014-02-13 06:09:26 +0000
+++ src/client_side_request.cc	2014-02-28 01:51:33 +0000
@@ -1145,12 +1145,11 @@
         }
     }
 
-    /* Only HEAD and GET requests permit a Range or Request-Range header.
+    /* Only HEAD and GET requests permit a Range header.
      * If these headers appear on any other type of request, delete them now.
      */
     else {
         req_hdr->delById(HDR_RANGE);
-        req_hdr->delById(HDR_REQUEST_RANGE);
         delete request->range;
         request->range = NULL;
     }

=== modified file 'src/http.cc'
--- src/http.cc	2013-12-06 23:52:26 +0000
+++ src/http.cc	2014-02-28 02:12:38 +0000
@@ -2021,11 +2021,8 @@
         break;
 
     case HDR_RANGE:
-
     case HDR_IF_RANGE:
-
-    case HDR_REQUEST_RANGE:
-        /** \par Range:, If-Range:, Request-Range:
+        /** \par Range:, If-Range:
          * Only pass if we accept ranges */
         if (!we_do_ranges)
             hdr_out->addEntry(e->clone());

