diff --git a/src/slurmctld/proc_req.c b/src/slurmctld/proc_req.c
index 89276f915b81e34c198e37ed1223382eab0b5405..22e2a88a43174b9543d4584becfb32d163982d56 100644
--- a/src/slurmctld/proc_req.c
+++ b/src/slurmctld/proc_req.c
@@ -3981,6 +3981,19 @@ inline static void  _slurm_rpc_set_schedlog_level(slurm_msg_t *msg)
 		return;
 	}
 
+	/*
+	 * If slurmctld_conf.sched_logfile is NULL, then this operation
+	 *  will fail, since there is no sched logfile for which to alter
+	 *  the log level. (Calling sched_log_alter with a NULL filename
+	 *  is likely to cause a segfault at the next sched log call)
+	 *  So just give up and return "Operation Disabled"
+	 */
+	if (slurmctld_conf.sched_logfile == NULL) {
+		error("set scheduler log level failed: no log file!");
+		slurm_send_rc_msg (msg, ESLURM_DISABLED);
+		return;
+	}
+
 	schedlog_level = MIN (request_msg->debug_level, (LOG_LEVEL_QUIET + 1));
 	schedlog_level = MAX (schedlog_level, LOG_LEVEL_QUIET);