diff --git a/http.go b/http.go
index a8f1f894ae9ba339e0b20e8b4015b3b214871ec6..268cfe0f6c7ea5fc43f43ec83971e78cf20635ff 100644
--- a/http.go
+++ b/http.go
@@ -269,9 +269,6 @@ func newHTTPServerConn(r *http.Request, w http.ResponseWriter) ServerCodec {
 			Headers:   c.r.Header,
 		},
 	}
-	if c.w != nil {
-		connInfo.HTTP.WriteHeaders = c.w.Header()
-	}
 	connInfo.HTTP.Origin = c.r.Header.Get("X-Real-Ip")
 	if connInfo.HTTP.Origin == "" {
 		connInfo.HTTP.Origin = c.r.Header.Get("X-Forwarded-For")
@@ -287,6 +284,9 @@ func newHTTPServerConn(r *http.Request, w http.ResponseWriter) ServerCodec {
 }
 
 func (c *httpServerConn) peerInfo() PeerInfo {
+	if c.w != nil {
+		c.pi.HTTP.WriteHeaders = c.w.Header()
+	}
 	return c.pi
 
 }