diff --git a/src/proto_http.c b/src/proto_http.c
index e471320..3c16776 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -3541,6 +3541,21 @@
 	hlua_ctx_destroy(s->hlua);
 	s->hlua = NULL;
 
+	/* cleanup and reinit capture arrays, if any */
+	if (s->req_cap) {
+		struct cap_hdr *h;
+		for (h = fe->req_cap; h; h = h->next)
+			pool_free(h->pool, s->req_cap[h->index]);
+		memset(s->req_cap, 0, fe->nb_req_cap * sizeof(void *));
+	}
+
+	if (s->res_cap) {
+		struct cap_hdr *h;
+		for (h = fe->rsp_cap; h; h = h->next)
+			pool_free(h->pool, s->res_cap[h->index]);
+		memset(s->res_cap, 0, fe->nb_rsp_cap * sizeof(void *));
+	}
+
 	s->txn->meth = 0;
 	http_reset_txn(s);
 	s->txn->flags |= TX_NOT_FIRST | TX_WAIT_NEXT_RQ;
@@ -7241,7 +7256,6 @@
 void http_end_txn(struct stream *s)
 {
 	struct http_txn *txn = s->txn;
-	struct proxy *fe = strm_fe(s);
 
 	/* these ones will have been dynamically allocated */
 	pool_free(pool_head_requri, txn->uri);
@@ -7254,20 +7268,6 @@
 	txn->srv_cookie = NULL;
 	txn->cli_cookie = NULL;
 
-	if (s->req_cap) {
-		struct cap_hdr *h;
-		for (h = fe->req_cap; h; h = h->next)
-			pool_free(h->pool, s->req_cap[h->index]);
-		memset(s->req_cap, 0, fe->nb_req_cap * sizeof(void *));
-	}
-
-	if (s->res_cap) {
-		struct cap_hdr *h;
-		for (h = fe->rsp_cap; h; h = h->next)
-			pool_free(h->pool, s->res_cap[h->index]);
-		memset(s->res_cap, 0, fe->nb_rsp_cap * sizeof(void *));
-	}
-
 	if (!LIST_ISEMPTY(&s->vars_txn.head))
 		vars_prune(&s->vars_txn, s->sess, s);
 	if (!LIST_ISEMPTY(&s->vars_reqres.head))
diff --git a/src/stream.c b/src/stream.c
index c474071..c76d010 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -447,6 +447,18 @@
 	flt_stream_release(s, 0);
 
 	if (fe) {
+		if (s->req_cap) {
+			struct cap_hdr *h;
+			for (h = fe->req_cap; h; h = h->next)
+				pool_free(h->pool, s->req_cap[h->index]);
+		}
+
+		if (s->res_cap) {
+			struct cap_hdr *h;
+			for (h = fe->rsp_cap; h; h = h->next)
+				pool_free(h->pool, s->res_cap[h->index]);
+		}
+
 		pool_free(fe->rsp_cap_pool, s->res_cap);
 		pool_free(fe->req_cap_pool, s->req_cap);
 	}
