diff --git a/src/mux_h1.c b/src/mux_h1.c index ee12686bb..5056fa88f 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -891,7 +891,7 @@ static size_t h1_process_headers(struct h1s *h1s, struct h1m *h1m, struct htx *h union h1_sl h1sl; int ret = 0; - if (!(h1m->flags & H1_MF_RESP)) { + if (!(h1s->flags & H1S_F_NOT_FIRST) && !(h1m->flags & H1_MF_RESP)) { /* Try to match H2 preface before parsing the request headers. */ ret = b_isteq(buf, 0, b_data(buf), ist(H2_CONN_PREFACE)); if (ret > 0)