diff --git a/NEWS b/NEWS
index e3f99f2f939c08eeaab08b742c3ec0826d1e7cad..640be81c9292adf87af9c485fef7124942170ffc 100644
--- a/NEWS
+++ b/NEWS
@@ -441,6 +441,8 @@ documents those changes that are of interest to users and administrators.
  -- Allow nodes state to be updated between FAIL and DRAIN.
  -- Avoid registering a job'd credential multiple times.
  -- Fix sbatch --wait to stop waiting after job is gone from memory.
+ -- Fix memory leak of MailDomain configuration string when slurmctld daemon is
+    reconfigured.
 
 * Changes in Slurm 17.02.9
 ==========================
diff --git a/src/common/read_config.c b/src/common/read_config.c
index 22112ee3f75f99f6b94cb9db49187985ab76fba6..a91f3616b610e357dcd11442d08f7b3d59eac7fa 100644
--- a/src/common/read_config.c
+++ b/src/common/read_config.c
@@ -2366,6 +2366,7 @@ free_slurm_conf (slurm_ctl_conf_t *ctl_conf_ptr, bool purge_node_hash)
 	xfree (ctl_conf_ptr->layouts);
 	xfree (ctl_conf_ptr->licenses);
 	xfree (ctl_conf_ptr->licenses_used);
+	xfree (ctl_conf_ptr->mail_domain);
 	xfree (ctl_conf_ptr->mail_prog);
 	xfree (ctl_conf_ptr->mcs_plugin);
 	xfree (ctl_conf_ptr->mcs_plugin_params);
@@ -2510,6 +2511,7 @@ init_slurm_conf (slurm_ctl_conf_t *ctl_conf_ptr)
 	xfree (ctl_conf_ptr->launch_type);
 	xfree (ctl_conf_ptr->layouts);
 	xfree (ctl_conf_ptr->licenses);
+	xfree (ctl_conf_ptr->mail_domain);
 	xfree (ctl_conf_ptr->mail_prog);
 	ctl_conf_ptr->max_array_sz		= NO_VAL;
 	ctl_conf_ptr->max_job_cnt		= NO_VAL;