diff --git a/slurm/slurm.h.in b/slurm/slurm.h.in
index f3f587ee1a175f72dff98b4756aa94b27552fa5a..5e743f52d3aa4e7d00d827faafc558575240476c 100644
--- a/slurm/slurm.h.in
+++ b/slurm/slurm.h.in
@@ -994,7 +994,8 @@ typedef struct slurm_ctl_conf {
 	char *resume_program;	/* program to make nodes full power */
 	uint16_t ret2service;	/* 1 return DOWN node to service at 
 				 * registration */
-	char *sched_conf;	/* contents of scheduler plugin config file */
+	char *sched_params;	/* SchedulerParameters OR 
+				 * contents of scheduler plugin config file */
 	uint16_t sched_time_slice;	/* gang scheduler slice time, secs */
 	char *schedtype;	/* type of scheduler to use */
 	uint16_t schedport;	/* port for scheduler connection */
diff --git a/src/api/config_info.c b/src/api/config_info.c
index e83e960a8be2bb04f313d3e8a6782cc81464b227..c14213de1ba173469b609b918b453807bb806c37 100644
--- a/src/api/config_info.c
+++ b/src/api/config_info.c
@@ -247,10 +247,8 @@ void slurm_print_ctl_conf ( FILE* out,
 		slurm_ctl_conf_ptr->resume_rate);
 	fprintf(out, "ReturnToService         = %u\n", 
 		slurm_ctl_conf_ptr->ret2service);
-	if (slurm_ctl_conf_ptr->sched_conf) {
-		fprintf(out, "SCHEDULER_CONF          = %s\n",
-			slurm_ctl_conf_ptr->sched_conf);
-	}
+	fprintf(out, "SchedulerParameters     = %s\n",
+		slurm_ctl_conf_ptr->sched_params);
 	fprintf(out, "SchedulerPort           = %u\n",
 		slurm_ctl_conf_ptr->schedport);
 	fprintf(out, "SchedulerRootFilter     = %u\n",
diff --git a/src/common/read_config.c b/src/common/read_config.c
index 462c02db59333662ecd110017d44e006cb6a8d3d..36d72e4731a9284e06f6bbdf7d2a25a33594d654 100644
--- a/src/common/read_config.c
+++ b/src/common/read_config.c
@@ -191,6 +191,7 @@ s_p_options_t slurm_conf_options[] = {
 	{"ResumeRate", S_P_UINT16},
 	{"ReturnToService", S_P_UINT16},
 	{"SchedulerAuth", S_P_STRING, defunct_option},
+	{"SchedulerParameters", S_P_STRING},
 	{"SchedulerPort", S_P_UINT16},
 	{"SchedulerRootFilter", S_P_UINT16},
 	{"SchedulerTimeSlice", S_P_UINT16},
@@ -1185,7 +1186,7 @@ init_slurm_conf (slurm_ctl_conf_t *ctl_conf_ptr)
 	xfree (ctl_conf_ptr->resume_program);
 	ctl_conf_ptr->resume_rate		= (uint16_t) NO_VAL;
 	ctl_conf_ptr->ret2service		= (uint16_t) NO_VAL;
-	xfree( ctl_conf_ptr->sched_conf );
+	xfree( ctl_conf_ptr->sched_params );
 	ctl_conf_ptr->sched_time_slice		= (uint16_t) NO_VAL;
 	xfree( ctl_conf_ptr->schedtype );
 	ctl_conf_ptr->schedport			= (uint16_t) NO_VAL;
@@ -1777,6 +1778,8 @@ validate_and_set_defaults(slurm_ctl_conf_t *conf, s_p_hashtbl_t *hashtbl)
 	if (!s_p_get_uint16(&conf->resume_rate, "ResumeRate", hashtbl))
 		conf->resume_rate = DEFAULT_RESUME_RATE;
 
+	s_p_get_string(&conf->sched_params, "SchedulerParameters", hashtbl);
+
 	if (s_p_get_uint16(&conf->schedport, "SchedulerPort", hashtbl)) {
 		if (conf->schedport == 0) {
 			error("SchedulerPort=0 is invalid");
@@ -1786,14 +1789,14 @@ validate_and_set_defaults(slurm_ctl_conf_t *conf, s_p_hashtbl_t *hashtbl)
 		conf->schedport = DEFAULT_SCHEDULER_PORT;
 	}
 
-	if (!s_p_get_uint16(&conf->sched_time_slice, "SchedulerTimeSlice",
-	    hashtbl))
-		conf->sched_time_slice = DEFAULT_SCHED_TIME_SLICE;
-
 	if (!s_p_get_uint16(&conf->schedrootfltr,
 			    "SchedulerRootFilter", hashtbl))
 		conf->schedrootfltr = DEFAULT_SCHEDROOTFILTER;
 
+	if (!s_p_get_uint16(&conf->sched_time_slice, "SchedulerTimeSlice",
+	    hashtbl))
+		conf->sched_time_slice = DEFAULT_SCHED_TIME_SLICE;
+
 	if (!s_p_get_string(&conf->schedtype, "SchedulerType", hashtbl))
 		conf->schedtype = xstrdup(DEFAULT_SCHEDTYPE);
 
diff --git a/src/common/slurm_protocol_defs.c b/src/common/slurm_protocol_defs.c
index 105b358a5dc3a79fbd1f18e9ba2aefc86ff1856c..90d2b3e5ad6a25a4651760408e3ab2d79523d4cb 100644
--- a/src/common/slurm_protocol_defs.c
+++ b/src/common/slurm_protocol_defs.c
@@ -930,7 +930,7 @@ void slurm_free_ctl_conf(slurm_ctl_conf_info_msg_t * config_ptr)
 		xfree(config_ptr->propagate_rlimits);
 		xfree(config_ptr->propagate_rlimits_except);
 		xfree(config_ptr->resume_program);
-		xfree(config_ptr->sched_conf);
+		xfree(config_ptr->sched_params);
 		xfree(config_ptr->schedtype);
 		xfree(config_ptr->select_type);
 		xfree(config_ptr->slurm_conf);
diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c
index 84f52d35f845c15ce24231af3c5b626ca6a99f36..76055cb048877e37d707d3227c93967b5479954b 100644
--- a/src/common/slurm_protocol_pack.c
+++ b/src/common/slurm_protocol_pack.c
@@ -2296,7 +2296,7 @@ _pack_slurm_ctl_conf_msg(slurm_ctl_conf_info_msg_t * build_ptr, Buf buffer)
 	pack16(build_ptr->resume_rate, buffer);
 	pack16(build_ptr->ret2service, buffer);
 
-	packstr(build_ptr->sched_conf, buffer);
+	packstr(build_ptr->sched_params, buffer);
 	pack16(build_ptr->schedport, buffer);
 	pack16(build_ptr->schedrootfltr, buffer);
 	pack16(build_ptr->sched_time_slice, buffer);
@@ -2458,7 +2458,7 @@ _unpack_slurm_ctl_conf_msg(slurm_ctl_conf_info_msg_t **
 	safe_unpack16(&build_ptr->resume_rate, buffer);
 	safe_unpack16(&build_ptr->ret2service, buffer);
 
-	safe_unpackstr_xmalloc(&build_ptr->sched_conf, &uint32_tmp, buffer);
+	safe_unpackstr_xmalloc(&build_ptr->sched_params, &uint32_tmp, buffer);
 	safe_unpack16(&build_ptr->schedport, buffer);
 	safe_unpack16(&build_ptr->schedrootfltr, buffer);
 	safe_unpack16(&build_ptr->sched_time_slice, buffer);
@@ -2557,7 +2557,7 @@ unpack_error:
 	xfree(build_ptr->propagate_rlimits);
 	xfree(build_ptr->propagate_rlimits_except);
 	xfree(build_ptr->resume_program);
-	xfree(build_ptr->sched_conf);
+	xfree(build_ptr->sched_params);
 	xfree(build_ptr->schedtype);
 	xfree(build_ptr->select_type);
 	xfree(build_ptr->slurm_conf);
diff --git a/src/slurmctld/proc_req.c b/src/slurmctld/proc_req.c
index 985459cbf5163b951617b2ba7f75bbe1a1e8face..e413d8a57af649fa7b0977828c22d7bd39af6146 100644
--- a/src/slurmctld/proc_req.c
+++ b/src/slurmctld/proc_req.c
@@ -410,7 +410,10 @@ void _fill_ctld_conf(slurm_ctl_conf_t * conf_ptr)
 	conf_ptr->resume_rate         = conf->resume_rate;
 	conf_ptr->ret2service         = conf->ret2service;
 
-	conf_ptr->sched_conf          = slurm_sched_p_get_conf();
+	if (conf->sched_params)
+		conf_ptr->sched_params = xstrdup(conf->sched_params);
+	else
+		conf_ptr->sched_params = slurm_sched_p_get_conf();
 	conf_ptr->schedport           = conf->schedport;
 	conf_ptr->schedrootfltr       = conf->schedrootfltr;
 	conf_ptr->sched_time_slice    = conf->sched_time_slice;