diff --git a/src/cfgparse-global.c b/src/cfgparse-global.c
index 4547d96..ca447bb 100644
--- a/src/cfgparse-global.c
+++ b/src/cfgparse-global.c
@@ -190,14 +190,7 @@
 		global.tune.maxaccept = max;
 	}
 	else if (!strcmp(args[0], "tune.chksize")) {
-		if (alertif_too_many_args(1, file, linenum, args, &err_code))
-			goto out;
-		if (*(args[1]) == 0) {
-			ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
-			err_code |= ERR_ALERT | ERR_FATAL;
-			goto out;
-		}
-		global.tune.chksize = atol(args[1]);
+		/* Deprecated now */
 	}
 	else if (!strcmp(args[0], "tune.recv_enough")) {
 		if (alertif_too_many_args(1, file, linenum, args, &err_code))
diff --git a/src/haproxy.c b/src/haproxy.c
index ae11f8d..6d17f31 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -164,7 +164,6 @@
 		.options = GTUNE_LISTENER_MQ,
 		.bufsize = (BUFSIZE + 2*sizeof(void *) - 1) & -(2*sizeof(void *)),
 		.maxrewrite = MAXREWRITE,
-		.chksize = (BUFSIZE + 2*sizeof(void *) - 1) & -(2*sizeof(void *)),
 		.reserved_bufs = RESERVED_BUFS,
 		.pattern_cache = DEFAULT_PAT_LRU_SIZE,
 		.pool_low_ratio  = 20,
diff --git a/src/payload.c b/src/payload.c
index 52be784..f867541 100644
--- a/src/payload.c
+++ b/src/payload.c
@@ -976,14 +976,13 @@
 		chn = ((smp->opt & SMP_OPT_DIR) == SMP_OPT_DIR_RES) ? &smp->strm->res : &smp->strm->req;
 		head = ci_head(chn);
 		data = ci_data(chn);
-		max  = global.tune.bufsize;
 	}
 	else if (obj_type(smp->sess->origin) == OBJ_TYPE_CHECK) {
 		struct buffer *buf = &(__objt_check(smp->sess->origin)->bi);
 		head = b_head(buf);
 		data = b_data(buf);
-		max  = global.tune.chksize;
 	}
+	max = global.tune.bufsize;
 	if (!head)
 		return 0;
 
@@ -1039,14 +1038,13 @@
 		chn = ((smp->opt & SMP_OPT_DIR) == SMP_OPT_DIR_RES) ? &smp->strm->res : &smp->strm->req;
 		head = ci_head(chn);
 		data = ci_data(chn);
-		max  = global.tune.bufsize;
 	}
 	else if (obj_type(smp->sess->origin) == OBJ_TYPE_CHECK) {
 		struct buffer *buf = &(__objt_check(smp->sess->origin)->bi);
 		head = b_head(buf);
 		data = b_data(buf);
-		max  = global.tune.chksize;
 	}
+	max = global.tune.bufsize;
 	if (!head)
 		return 0;
 
diff --git a/src/tcpcheck.c b/src/tcpcheck.c
index 2fa49ec..f5eb8e9 100644
--- a/src/tcpcheck.c
+++ b/src/tcpcheck.c
@@ -2737,7 +2737,7 @@
 				memprintf(errmsg, "'%s' expects a integer as argument", args[cur_arg]);
 				goto error;
 			}
-			/* Use an signed integer here because of chksize */
+			/* Use an signed integer here because of bufsize */
 			cur_arg++;
 			min_recv = atol(args[cur_arg]);
 			if (min_recv < -1 || min_recv > INT_MAX) {
