diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index e411ecc39d408a1cf7a8f048e22861c66bbabbf7..b44407d86daa5b5158682405710472dacc23ee91 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -285,6 +285,8 @@ window.assignJob = function assignJob(slave, job) {
 			slave.assignment = job;
 			slave.assignmentVisible = 0;
 			slave.useRulesAssistant = 0; /* non-visible roles exempt from Rules Assistant */
+			WombCleanGenericReserve(slave, 'incubator', 9999);
+			WombCleanGenericReserve(slave, 'nursery', 9999);
 			if (job === "be your agent") {
 				V.leaders.push(slave);
 			}
diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw
index fae743fe30a8dfa5c3a6d7521a1796abafc9e434..829c41b4856af857c6cccf5b4c1723af1bf86f0d 100644
--- a/src/pregmod/incubator.tw
+++ b/src/pregmod/incubator.tw
@@ -72,7 +72,7 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $
 <<for _u = 0; _u < _SL; _u++>>
 	<<setLocalPronouns $slaves[_u]>>
 	<<if $slaves[_u].preg > 0 && $slaves[_u].broodmother == 0 && $slaves[_u].pregKnown == 1 && $slaves[_u].eggType == "human">>
-	<<if $slaves[_u].assignment == "work in the dairy" && $dairyPregSetting > 0>>
+	<<if ($slaves[_u].assignment == "work in the dairy" && $dairyPregSetting > 0) || $activeSlave.assignment == "be your agent" || "live with your agent">>
 	<<else>>
 		<<set _slaveId = "slave-" + $slaves[_u].ID>>
 		<<set _WL = $slaves[_u].womb.length>>