diff --git a/src/plugins/sched/wiki2/job_modify.c b/src/plugins/sched/wiki2/job_modify.c
index 7b78d2dcce1a8cc3d278f18f29ca5a36971f990c..07691b3f385145eb598d0fab8926da59b68f8471 100644
--- a/src/plugins/sched/wiki2/job_modify.c
+++ b/src/plugins/sched/wiki2/job_modify.c
@@ -238,11 +238,11 @@ static int	_job_modify(uint32_t jobid, char *bank_ptr,
 		hostlist_t hl;
 		char *tasklist;
 
-		if (!job_ptr->details) {
+		if (!IS_JOB_PENDING(job_ptr) || !job_ptr->details) {
 			/* Job is done, nothing to reset */
 			if (new_hostlist == '\0')
 				goto host_fini;
-			error("wiki: MODIFYJOB tasklist of non-pending "
+			error("wiki: MODIFYJOB hostlist of non-pending "
 				"job %u", jobid);
 			return ESLURM_DISABLED;
 		}
@@ -292,12 +292,19 @@ host_fini:	if (rc) {
 
 	if (part_name_ptr) {
 		struct part_record *part_ptr;
+		if (!IS_JOB_PENDING(job_ptr)) {
+			error("wiki: MODIFYJOB partition of non-pending "
+			      "job %u", jobid);
+			return ESLURM_DISABLED;
+		}
+
 		part_ptr = find_part_record(part_name_ptr);
 		if (part_ptr == NULL) {
 			error("wiki: MODIFYJOB has invalid partition %s",
 				part_name_ptr);
 			return ESLURM_INVALID_PARTITION_NAME;
 		}
+
 		info("wiki: change job %u partition %s",
 			jobid, part_name_ptr);
 		xfree(job_ptr->partition);