diff --git a/reg-tests/http-messaging/h00002.vtc b/reg-tests/http-messaging/h00002.vtc
new file mode 100644
index 0000000..0b2daee
--- /dev/null
+++ b/reg-tests/http-messaging/h00002.vtc
@@ -0,0 +1,273 @@
+varnishtest "HTTP request tests: H2 to H1, legacy mode"
+#REQUIRE_VERSION=1.9
+
+# Run it with HAPROXY_PROGRAM=$PWD/haproxy varnishtest -l -k -t 1 "$1"
+
+feature ignore_unknown_macro
+
+# synchronize requests between streams
+barrier b1 cond 2 -cyclic
+barrier b2 cond 2 -cyclic
+barrier b3 cond 2 -cyclic
+barrier b4 cond 2 -cyclic
+
+server s1 {
+	rxreq
+	txresp \
+	  -status 200 \
+	  -body "response 1"
+
+	barrier b2 sync
+	rxreq
+	txresp \
+	  -status 200 \
+	  -body "response 2"
+
+	barrier b3 sync
+	rxreq
+	txresp \
+	  -status 200 \
+	  -body "response 3"
+
+	barrier b4 sync
+	rxreq
+	txresp \
+	  -status 200 \
+	  -body "response 4"
+} -repeat 2 -start
+
+haproxy h1 -conf {
+    defaults
+	#log stdout format raw daemon
+	mode http
+	#option http-use-htx
+	timeout connect 1s
+	timeout client  1s
+	timeout server  1s
+
+    listen feh1
+	bind "fd@${feh1}"
+	bind "fd@${feh2}" proto h2
+	server s1 ${s1_addr}:${s1_port}
+} -start
+
+client c1h2 -connect ${h1_feh2_sock} {
+	txpri
+	stream 0 {
+		txsettings
+		rxsettings
+		txsettings -ack
+		rxwinup
+		rxsettings
+		expect settings.ack == true
+	} -run
+
+	# first request is valid
+	stream 1 {
+		txreq \
+		  -req "GET" \
+		  -scheme "https" \
+		  -url "/test1.html"
+		rxhdrs
+		expect resp.status == 200
+		rxdata -all
+		expect resp.body == "response 1"
+	} -run
+
+	# second request is valid and advertises C-L:0
+	stream 3 {
+		barrier b2 sync
+		txreq \
+		  -req "GET" \
+		  -scheme "https" \
+		  -url "/test2.html" \
+		  -hdr "content-length" "0"
+		rxhdrs
+		expect resp.status == 200
+		rxdata -all
+		expect resp.body == "response 2"
+	} -run
+
+	# third request sends a body with a GET
+	stream 5 {
+		barrier b3 sync
+		txreq \
+		  -req "GET" \
+		  -scheme "https" \
+		  -url "/test3.html" \
+		  -nostrend \
+		  -body "this must be delivered, like it or not"
+		rxwinup
+		rxhdrs
+		expect resp.status == 200
+		rxdata -all
+		expect resp.body == "response 3"
+	} -run
+
+	# fourth request is valid and advertises C-L:0, and close, and is
+	# followed by a string "this is not sent\r\n\r\n" which must be
+	# dropped.
+	stream 7 {
+		barrier b4 sync
+		txreq \
+		  -req "GET" \
+		  -scheme "https" \
+		  -url "/test4.html" \
+		  -hdr "content-length" "0" \
+		  -nostrend
+		txdata -data "this is sent and ignored"
+		rxwinup
+		rxhdrs
+		expect resp.status == 200
+		rxdata -all
+		expect resp.body == "response 4"
+	} -run
+} -run
+
+# HEAD requests : don't work well yet
+#client c2h2 -connect ${h1_feh2_sock} {
+#	txpri
+#	stream 0 {
+#		txsettings
+#		rxsettings
+#		txsettings -ack
+#		rxwinup
+#		rxsettings
+#		expect settings.ack == true
+#	} -run
+#
+#	# first request is valid
+#	stream 1 {
+#		txreq \
+#		  -req "HEAD" \
+#		  -scheme "https" \
+#		  -url "/test11.html"
+#		rxhdrs
+#		expect resp.status == 200
+#		rxdata -all
+#		expect resp.bodylen == 0
+#	} -run
+#
+#	# second request is valid and advertises C-L:0
+#	stream 3 {
+#		barrier b2 sync
+#		txreq \
+#		  -req "HEAD" \
+#		  -scheme "https" \
+#		  -url "/test12.html" \
+#		  -hdr "content-length" "0"
+#		rxhdrs
+#		expect resp.status == 200
+#		rxdata -all
+#		expect resp.bodylen == 0
+#	} -run
+#
+#	# third request sends a body with a GET
+#	stream 5 {
+#		barrier b3 sync
+#		txreq \
+#		  -req "HEAD" \
+#		  -scheme "https" \
+#		  -url "/test13.html" \
+#		  -nostrend \
+#		  -body "this must be delivered, like it or not"
+#		rxwinup
+#		rxhdrs
+#		expect resp.status == 200
+#		rxdata -all
+#		expect resp.bodylen == 0
+#	} -run
+#
+#	# fourth request is valid and advertises C-L:0, and close, and is
+#	# followed by a string "this is not sent\r\n\r\n" which must be
+#	# dropped.
+#	stream 7 {
+#		barrier b4 sync
+#		txreq \
+#		  -req "HEAD" \
+#		  -scheme "https" \
+#		  -url "/test14.html" \
+#		  -hdr "content-length" "0" \
+#		  -nostrend
+#		txdata -data "this is sent and ignored"
+#		rxwinup
+#		rxhdrs
+#		expect resp.status == 200
+#		rxdata -all
+#		expect resp.bodylen == 0
+#	} -run
+#} -run
+
+# POST requests
+client c3h2 -connect ${h1_feh2_sock} {
+	txpri
+	stream 0 {
+		txsettings
+		rxsettings
+		txsettings -ack
+		rxwinup
+		rxsettings
+		expect settings.ack == true
+	} -run
+
+	# first request is valid
+	stream 1 {
+		txreq \
+		  -req "POST" \
+		  -scheme "https" \
+		  -url "/test21.html"
+		rxhdrs
+		expect resp.status == 200
+		rxdata -all
+		expect resp.body == "response 1"
+	} -run
+
+	# second request is valid and advertises C-L:0
+	stream 3 {
+		barrier b2 sync
+		txreq \
+		  -req "POST" \
+		  -scheme "https" \
+		  -url "/test22.html" \
+		  -hdr "content-length" "0"
+		rxhdrs
+		expect resp.status == 200
+		rxdata -all
+		expect resp.body == "response 2"
+	} -run
+
+	# third request sends a body with a GET
+	stream 5 {
+		barrier b3 sync
+		txreq \
+		  -req "POST" \
+		  -scheme "https" \
+		  -url "/test23.html" \
+		  -nostrend \
+		  -body "this must be delivered, like it or not"
+		rxwinup
+		rxhdrs
+		expect resp.status == 200
+		rxdata -all
+		expect resp.body == "response 3"
+	} -run
+
+	# fourth request is valid and advertises C-L:0, and close, and is
+	# followed by a string "this is not sent\r\n\r\n" which must be
+	# dropped.
+	stream 7 {
+		barrier b4 sync
+		txreq \
+		  -req "POST" \
+		  -scheme "https" \
+		  -url "/test24.html" \
+		  -hdr "content-length" "0" \
+		  -nostrend
+		txdata -data "this is sent and ignored"
+		rxwinup
+		rxhdrs
+		expect resp.status == 200
+		rxdata -all
+		expect resp.body == "response 4"
+	} -run
+} -run
