diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index 4a3e0f9453e42f833ee56d51b934ec3566ba51ec..007db25b71f159e7be671a5c9a1004db4405f871 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -23,6 +23,7 @@ globalThis.assignJob = function(slave, job) {
 	}
 
 	removeJob(slave, slave.assignment, true);
+	const restingAssignment = slave.assignment; // not necessary Job.REST, but the assignment chosen by removeJob() for her case
 	const idx = V.slaveIndices[slave.ID];
 
 	/**
@@ -402,7 +403,7 @@ globalThis.assignJob = function(slave, job) {
 			break;
 	}
 
-	V.JobIDMap[oldJob].delete(slave.ID);
+	V.JobIDMap[restingAssignment].delete(slave.ID);
 	V.JobIDMap[slave.assignment].add(slave.ID);
 
 	if (!assignmentVisible(slave) && Array.isArray(V.personalAttention)) {