diff --git a/src/hlua.c b/src/hlua.c
index 3a325b7..83e3058 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -4380,7 +4380,7 @@
  * "hlua_request_act_wrapper" for executing the LUA code.
  */
 int hlua_tcp_req_act_wrapper(struct tcp_rule *tcp_rule, struct proxy *px,
-                             struct stream *s)
+                             struct session *sess, struct stream *s)
 {
 	return hlua_request_act_wrapper((struct hlua_rule *)tcp_rule->act_prm.data[0],
 	                                px, s, AN_REQ_INSPECT_FE);
@@ -4390,7 +4390,7 @@
  * "hlua_request_act_wrapper" for executing the LUA code.
  */
 int hlua_tcp_res_act_wrapper(struct tcp_rule *tcp_rule, struct proxy *px,
-                             struct stream *s)
+                             struct session *sess, struct stream *s)
 {
 	return hlua_request_act_wrapper((struct hlua_rule *)tcp_rule->act_prm.data[0],
 	                                px, s, AN_RES_INSPECT);
diff --git a/src/proto_tcp.c b/src/proto_tcp.c
index e499868..00c308a 100644
--- a/src/proto_tcp.c
+++ b/src/proto_tcp.c
@@ -1231,7 +1231,7 @@
 			}
 			else {
 				/* Custom keywords. */
-				if (rule->action_ptr && !rule->action_ptr(rule, s->be, s)) {
+				if (rule->action_ptr && !rule->action_ptr(rule, s->be, s->sess, s)) {
 					s->current_rule = rule;
 					goto missing_data;
 				}
@@ -1356,7 +1356,7 @@
 			}
 			else {
 				/* Custom keywords. */
-				if (rule->action_ptr && !rule->action_ptr(rule, s->be, s)) {
+				if (rule->action_ptr && !rule->action_ptr(rule, s->be, s->sess, s)) {
 					channel_dont_close(rep);
 					s->current_rule = rule;
 					return 0;
@@ -1441,7 +1441,7 @@
 			else {
 				/* Custom keywords. */
 				if (rule->action_ptr) {
-					rule->action_ptr(rule, sess->fe, NULL);
+					rule->action_ptr(rule, sess->fe, sess, NULL);
 					if (rule->action == TCP_ACT_CUSTOM_CONT)
 						continue;
 				}
diff --git a/src/vars.c b/src/vars.c
index d233c88..02d472a 100644
--- a/src/vars.c
+++ b/src/vars.c
@@ -502,7 +502,8 @@
 }
 
 /* Returns 0 if miss data, else returns 1. */
-static int action_tcp_req_store(struct tcp_rule *rule, struct proxy *px, struct stream *s)
+static int action_tcp_req_store(struct tcp_rule *rule, struct proxy *px,
+                                struct session *sess, struct stream *s)
 {
 	struct sample_expr *expr = rule->act_prm.data[0];
 	const char *name = rule->act_prm.data[1];
@@ -512,7 +513,8 @@
 }
 
 /* Returns 0 if miss data, else returns 1. */
-static int action_tcp_res_store(struct tcp_rule *rule, struct proxy *px, struct stream *s)
+static int action_tcp_res_store(struct tcp_rule *rule, struct proxy *px,
+                                struct session *sess, struct stream *s)
 {
 	struct sample_expr *expr = rule->act_prm.data[0];
 	const char *name = rule->act_prm.data[1];
