diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c
index 216e6d8d5..bcc89ba36 100644
--- a/src/cfgparse-listen.c
+++ b/src/cfgparse-listen.c
@@ -406,6 +406,13 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
 			proxy_ref_defaults(curproxy, curr_defproxy);
 		}
 
+		if ((rc & PR_CAP_BE) && curr_defproxy && (curr_defproxy->nb_req_cap || curr_defproxy->nb_rsp_cap)) {
+			ha_alert("parsing [%s:%d]: backend or defaults sections cannot inherit from a defaults section defining"
+				 " capptures (defaults section at %s:%d).\n",
+				 file, linenum, curr_defproxy->conf.file, curr_defproxy->conf.line);
+			err_code |= ERR_ALERT | ERR_ABORT;
+		}
+
 		if (rc & PR_CAP_DEF) {
 			/* last and current proxies must be updated to this one */
 			curr_defproxy = last_defproxy = curproxy;