diff --git a/src/slurmctld/read_config.c b/src/slurmctld/read_config.c
index 5268284c71719872bca3d682ca3081139a9b947b..7c8d2b2593107214a4e21a55c152d0a29fb1d708 100644
--- a/src/slurmctld/read_config.c
+++ b/src/slurmctld/read_config.c
@@ -1019,8 +1019,7 @@ int read_slurm_conf(int recover, bool reconfig)
 	reserve_port_config(mpi_params);
 	xfree(mpi_params);
 
-	license_free();
-	if (license_init(slurmctld_conf.licenses) != SLURM_SUCCESS)
+	if (license_update(slurmctld_conf.licenses) != SLURM_SUCCESS)
 		fatal("Invalid Licenses value: %s", slurmctld_conf.licenses);
 
 	/* NOTE: Run restore_node_features before _restore_job_dependencies */