diff --git a/NEWS b/NEWS
index aacdd285cacccbb490558bca3d61d18fd5c27d6a..3502db8762cbffd58b43463c4f36964742da4fd0 100644
--- a/NEWS
+++ b/NEWS
@@ -345,6 +345,8 @@ documents those changes that are of interest to users and admins.
     spawn a task count equal to the number of nodes selected multipled by the 
     --ntasks-per-node value.
  -- In jobcomp/script: Set TZ if set in slurmctld's environment.
+ -- Process a job's --mail_type=end option on any job of job termination, not
+    just normal completion (e.g. all failure modes too).
 
 * Changes in SLURM 1.2.30
 =========================
diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index b42d529967bd7349292b78563f23339d54f41efd..e8041885f34301b71e9bad26850152581038d6e8 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -4771,6 +4771,8 @@ extern void job_completion_logger(struct job_record  *job_ptr)
 	} else {	/* JOB_FAILED, JOB_NODE_FAIL, or JOB_TIMEOUT */
 		if (job_ptr->mail_type & MAIL_JOB_FAIL)
 			mail_job_info(job_ptr, MAIL_JOB_FAIL);
+		else if (job_ptr->mail_type & MAIL_JOB_END)
+			mail_job_info(job_ptr, MAIL_JOB_END);
 	}
 
 	g_slurm_jobcomp_write(job_ptr);