diff --git a/router_response.go b/router_response.go
index 6025700ab2efe3181c7319db1c427c79ce3b4ae8..6093f989473a3f251ffb10174dd58acd8ba5b221 100644
--- a/router_response.go
+++ b/router_response.go
@@ -40,6 +40,9 @@ func NewReaderResponseWriterMsg(r *Request) *ResponseWriterMsg {
 
 func (w *ResponseWriterMsg) Header() http.Header {
 	wh := w.r.Peer().HTTP.WriteHeaders
+	if wh == nil {
+		wh = http.Header{}
+	}
 	return wh
 }