diff --git a/doc/configuration.txt b/doc/configuration.txt
index ea326d1..6fb239a 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -869,19 +869,20 @@
   This global directive loads and executes a Lua file. This directive can be
   used multiple times.
 
-master-worker [exit-on-failure]
+master-worker [no-exit-on-failure]
   Master-worker mode. It is equivalent to the command line "-W" argument.
   This mode will launch a "master" which will monitor the "workers". Using
   this mode, you can reload HAProxy directly by sending a SIGUSR2 signal to
   the master.  The master-worker mode is compatible either with the foreground
   or daemon mode. It is recommended to use this mode with multiprocess and
   systemd.
-  The "exit-on-failure" option allows the master to kill every workers and
-  exit when one of the current workers died. It is convenient to combine this
-  option with Restart=on-failure in a systemd unit file in order to relaunch
-  the whole process.
+  By default, if a worker exits with a bad return code, in the case of a
+  segfault for example, all workers will be killed, and the master will leave.
+  It is convenient to combine this behavior with Restart=on-failure in a
+  systemd unit file in order to relaunch the whole process. If you don't want
+  this behavior, you must use the keyword "no-exit-on-failure".
 
-  See alors "-W" in the management guide.
+  See also "-W" in the management guide.
 
 nbproc <number>
   Creates <number> processes when going daemon. This requires the "daemon"
diff --git a/include/types/global.h b/include/types/global.h
index 0f50d45..a3d1e96 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -65,7 +65,7 @@
 #define GTUNE_RESOLVE_DONTFAIL   (1<<7)
 
 #define GTUNE_SOCKET_TRANSFER	 (1<<8)
-#define GTUNE_EXIT_ONFAILURE     (1<<9)
+#define GTUNE_NOEXIT_ONFAILURE   (1<<9)
 #define GTUNE_USE_SYSTEMD        (1<<10)
 
 /* Access level for a stats socket */
diff --git a/src/cfgparse.c b/src/cfgparse.c
index f70eafb..e7e32cf 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -716,8 +716,8 @@
 		if (alertif_too_many_args(1, file, linenum, args, &err_code))
 			goto out;
 		if (*args[1]) {
-			if (!strcmp(args[1], "exit-on-failure")) {
-				global.tune.options |= GTUNE_EXIT_ONFAILURE;
+			if (!strcmp(args[1], "no-exit-on-failure")) {
+				global.tune.options |= GTUNE_NOEXIT_ONFAILURE;
 			} else {
 				ha_alert("parsing [%s:%d] : '%s' only supports 'exit-on-failure' option.\n", file, linenum, args[0]);
 				err_code |= ERR_ALERT | ERR_FATAL;
diff --git a/src/haproxy.c b/src/haproxy.c
index faa46e0..891a021 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -759,7 +759,7 @@
 			if (current_child(exitpid)) {
 				ha_alert("Current worker %d left with exit code %d\n", exitpid, status);
 				if (status != 0 && status != 130 && status != 143
-				    && global.tune.options & GTUNE_EXIT_ONFAILURE) {
+				    && !(global.tune.options & GTUNE_NOEXIT_ONFAILURE)) {
 					ha_alert("exit-on-failure: killing every workers with SIGTERM\n");
 					mworker_kill(SIGTERM);
 				}
