diff --git a/src/slurmd/slurmd/slurmd.c b/src/slurmd/slurmd/slurmd.c
index f9ed4b1ed83bf5d134e983c9f8b86ee8a9cdb9b2..57d0bde1f337bec8c67f74f5efdfa3915e27d5b5 100644
--- a/src/slurmd/slurmd/slurmd.c
+++ b/src/slurmd/slurmd/slurmd.c
@@ -751,9 +751,11 @@ _read_config(void)
 #ifndef HAVE_FRONT_END
 	bool cr_flag = false, gang_flag = false;
 #endif
-	slurm_mutex_lock(&conf->config_mutex);
+
 	cf = slurm_conf_lock();
 
+	slurm_mutex_lock(&conf->config_mutex);
+
 	if (conf->conffile == NULL)
 		conf->conffile = xstrdup(cf->slurm_conf);