diff --git a/include/types/http_ana.h b/include/types/http_ana.h
index 1b9891c..c17dc18 100644
--- a/include/types/http_ana.h
+++ b/include/types/http_ana.h
@@ -175,7 +175,6 @@
 	enum http_meth_t meth;          /* HTTP method */
 	/* 1 unused byte here */
 	short status;                   /* HTTP status from the server, negative if from proxy */
-	struct buffer *errmsg;          /* custom HTTP error message to use as reply */
 	struct http_reply *http_reply;  /* The HTTP reply to use as reply */
 
 	char cache_hash[20];               /* Store the cache hash  */
diff --git a/include/types/http_htx.h b/include/types/http_htx.h
index c323943..42b3c39 100644
--- a/include/types/http_htx.h
+++ b/include/types/http_htx.h
@@ -88,7 +88,6 @@
 		int   line;                   /* line where the section appears */
 	} conf;                               /* config information */
 
-	struct buffer *errmsg[HTTP_ERR_SIZE]; /* customized error messages for known errors */
 	struct http_reply *replies[HTTP_ERR_SIZE]; /* HTTP replies for known errors */
 	struct list list;                     /* http-errors list */
 };
diff --git a/include/types/proxy.h b/include/types/proxy.h
index 62fc435..81a5a44 100644
--- a/include/types/proxy.h
+++ b/include/types/proxy.h
@@ -408,7 +408,6 @@
 	int grace;				/* grace time after stop request */
 	char *check_command;			/* Command to use for external agent checks */
 	char *check_path;			/* PATH environment to use for external agent checks */
-	struct buffer *errmsg[HTTP_ERR_SIZE];	/* default or customized error messages for known errors */
 	struct http_reply *replies[HTTP_ERR_SIZE]; /* HTTP replies for known errors */
 	int uuid;				/* universally unique proxy ID, used for SNMP */
 	unsigned int backlog;			/* force the frontend's listen backlog */
diff --git a/src/http_ana.c b/src/http_ana.c
index 35ea8e9..138c029 100644
--- a/src/http_ana.c
+++ b/src/http_ana.c
@@ -5188,7 +5188,6 @@
 		      ? (TX_NOT_FIRST|TX_WAIT_NEXT_RQ)
 		      : 0);
 	txn->status = -1;
-	txn->errmsg = NULL;
 	txn->http_reply = NULL;
 	write_u32(txn->cache_hash, 0);
 
diff --git a/src/http_htx.c b/src/http_htx.c
index cefd8f6..78a5553 100644
--- a/src/http_htx.c
+++ b/src/http_htx.c
@@ -42,7 +42,6 @@
 	union {
 		struct {
 			int status;                 /* the status code associated to this error */
-			struct buffer *msg;         /* the HTX error message */
 			struct http_reply *reply;   /* the http reply for the errorfile */
 		} errorfile;                        /* describe an "errorfile" directive */
 		struct {
@@ -1702,7 +1701,6 @@
 	}
 	conf_err->type = 1;
 	conf_err->info.errorfile.status = status;
-	conf_err->info.errorfile.msg = msg;
 	conf_err->info.errorfile.reply = reply;
 
 	conf_err->file = strdup(file);
@@ -1766,7 +1764,6 @@
 	}
 	conf_err->type = 1;
 	conf_err->info.errorfile.status = status;
-	conf_err->info.errorfile.msg = msg;
 	conf_err->info.errorfile.reply = reply;
 	conf_err->file = strdup(file);
 	conf_err->line = line;
@@ -1851,7 +1848,6 @@
 		if (conf_err->type == 1) {
 			/* errorfile */
 			rc = http_get_status_idx(conf_err->info.errorfile.status);
-			px->errmsg[rc] = conf_err->info.errorfile.msg;
 			px->replies[rc] = conf_err->info.errorfile.reply;
 		}
 		else {
@@ -1873,10 +1869,8 @@
 			free(conf_err->info.errorfiles.name);
 			for (rc = 0; rc < HTTP_ERR_SIZE; rc++) {
 				if (conf_err->info.errorfiles.status[rc] > 0) {
-					if (http_errs->errmsg[rc]) {
-						px->errmsg[rc] = http_errs->errmsg[rc];
+					if (http_errs->replies[rc])
 						px->replies[rc] = http_errs->replies[rc];
-					}
 					else if (conf_err->info.errorfiles.status[rc] == 2)
 						ha_warning("config: proxy '%s' : status '%d' not declared in"
 							   " http-errors section '%s' (at %s:%d).\n",
@@ -1936,7 +1930,6 @@
 		new_conf_err->type = conf_err->type;
 		if (conf_err->type == 1) {
 			new_conf_err->info.errorfile.status = conf_err->info.errorfile.status;
-			new_conf_err->info.errorfile.msg    = conf_err->info.errorfile.msg;
 			new_conf_err->info.errorfile.reply  = conf_err->info.errorfile.reply;
 		}
 		else {
@@ -2057,7 +2050,6 @@
 		reply->body.errmsg = msg;
 
 		rc = http_get_status_idx(status);
-		curr_errs->errmsg[rc] = msg;
 		curr_errs->replies[rc] = reply;
 	}
 	else if (*args[0] != 0) {
