diff --git a/forward/fwd.go b/forward/fwd.go
index <HASH>..<HASH> 100644
--- a/forward/fwd.go
+++ b/forward/fwd.go
@@ -13,11 +13,12 @@ import (
 	"time"
 
 	"crypto/tls"
-	log "github.com/sirupsen/logrus"
-	"github.com/vulcand/oxy/utils"
 	"net"
 	"net/http/httputil"
 	"reflect"
+
+	log "github.com/sirupsen/logrus"
+	"github.com/vulcand/oxy/utils"
 )
 
 // ReqRewriter can alter request headers and body
@@ -206,6 +207,16 @@ func (f *httpForwarder) serveBufferedHTTP(w http.ResponseWriter, req *http.Reque
 			req.URL, response.StatusCode, time.Now().UTC().Sub(start))
 	}
 
+	// Connection: references headers that should be treated as hop by hop
+	if c := response.Header.Get("Connection"); c != "" {
+		for _, f := range strings.Split(c, ",") {
+			if f = strings.TrimSpace(f); f != "" {
+				response.Header.Del(f)
+			}
+		}
+	}
+	utils.RemoveHeaders(response.Header, HopHeaders...)
+
 	utils.CopyHeaders(w.Header(), response.Header)
 	w.WriteHeader(response.StatusCode)
Remove Hop-by-Hop headers when copying response.  Fixes #<I> (#<I>)