diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index 7a36d101055e0aa9c15a2aa907292a741c80bd4e..3524622ddee6a712d65ca75f03c8accbcf0fa225 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -10,7 +10,14 @@ globalThis.assignJob = function(slave, job) {
 	let r = "";
 	let oldJob = slave.assignment;
 
-	if (job === "@Pit" || job === "@Lurcher") { return r; } // psuedo-assignments must be handled through assignmentTransition for now
+	// handle non-exclusive pseudo-assignments as special cases
+	if (job === "@Pit") {
+		V.fighterIDs.push(slave.ID);
+		return r;
+	} else if (job === "@Lurcher") {
+		V.LurcherID = slave.ID;
+		return r;
+	}
 
 	removeJob(slave, slave.assignment, true);
 	const idx = V.slaveIndices[slave.ID];
@@ -942,32 +949,18 @@ globalThis.assignmentTransition = function(slave, assignTo, passage) {
 	}
 
 	V.activeSlave = slave; // might be needed by the passage we're transitioning to (TODO: get rid of this)
-	switch (assignTo) {
-		case "@Pit": {
-			V.fighterIDs.push(slave.ID);
-			Engine.play(passage);
-			break;
-		}
-		case "@Lurcher": {
-			V.LurcherID = slave.ID;
+	assignJob(slave, assignTo);
+	if (V.showAssignToScenes === 1 && slave.fetish !== "mindbroken") {
+		if (assignTo === "Dairy" && ((V.dairyStimulatorsSetting >= 2) || (V.dairyFeedersSetting >= 2) || (V.dairyPregSetting >= 2))) {
+			detourThroughScene("Industrial Dairy Assignment Scene");
+		} else if (assignTo === "Dairy" && (V.dairyRestraintsSetting === 0 && V.activeSlave.devotion > 0)) {
+			detourThroughScene("Free Range Dairy Assignment Scene");
+		} else if (assignTo === "Brothel") {
+			detourThroughScene("Brothel Assignment Scene");
+		} else {
 			Engine.play(passage);
-			break;
-		}
-		default: {
-			assignJob(slave, assignTo);
-			if (V.showAssignToScenes === 1 && slave.fetish !== "mindbroken") {
-				if (assignTo === "Dairy" && ((V.dairyStimulatorsSetting >= 2) || (V.dairyFeedersSetting >= 2) || (V.dairyPregSetting >= 2))) {
-					detourThroughScene("Industrial Dairy Assignment Scene");
-				} else if (assignTo === "Dairy" && (V.dairyRestraintsSetting === 0 && V.activeSlave.devotion > 0)) {
-					detourThroughScene("Free Range Dairy Assignment Scene");
-				} else if (assignTo === "Brothel") {
-					detourThroughScene("Brothel Assignment Scene");
-				} else {
-					Engine.play(passage);
-				}
-			} else {
-				Engine.play(passage);
-			}
 		}
+	} else {
+		Engine.play(passage);
 	}
 };