diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index ea69170be00f33c51ea9a2fac4c6d66a35c88ba5..abd51e986ae67d213fe5cf67913833b2d431770d 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -30,9 +30,6 @@ App.Entity.Utils.SlaveDataSchemeCleanup = (function() {
 		if (slave.hasOwnProperty("tired")) {
 			delete slave.tired;
 		}
-		delete slave.death;
-		delete slave.burst;
-		delete slave.labor;
 	}
 
 	/**
@@ -666,12 +663,7 @@ globalThis.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 	 */
 	function slavePregnancyDatatypeCleanup(slave) {
 		slave.induce = Math.clamp(+slave.induce, 0, 1) || 0;
-		if (slave.hasOwnProperty("labor")) {
-			if (slave.labor) {
-				startLabor(slave);
-			}
-			delete slave.labor;
-		}
+		slave.labor = Math.clamp(+slave.labor, 0, 1) || 0;
 		slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0;
 		slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0;
 		slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0;
diff --git a/src/facilities/nursery/nurseryDatatypeCleanup.js b/src/facilities/nursery/nurseryDatatypeCleanup.js
index 84d47b3b9988dc339671e6d59a68ee87bd984d0b..e2c0621bf5f2ad3f25a1ff826f1e50b7a77c6342 100644
--- a/src/facilities/nursery/nurseryDatatypeCleanup.js
+++ b/src/facilities/nursery/nurseryDatatypeCleanup.js
@@ -153,9 +153,7 @@ App.Facilities.Nursery.ChildDatatypeCleanup = function(child) {
 
 	function childPregnancyDatatypeCleanup(child) {
 		child.induce = Math.clamp(+child.induce, 0, 1) || 0;
-		if (child.hasOwnProperty("labor")) {
-			// Child labor, not sure how child IDs work.
-		}
+		child.labor = Math.clamp(+child.labor, 0, 1) || 0;
 		if (child.hasOwnProperty("cSec")) {
 			if (child.cSec > 0) {
 				App.Medicine.Modification.addScar(child, "belly", "c-section");
diff --git a/src/facilities/nursery/utils/nurseryUtils.js b/src/facilities/nursery/utils/nurseryUtils.js
index 266b58d81f713bc2c9b7103d017ac510c8eb995d..ad6acc9873ad10128595d225fc92b653529313d8 100644
--- a/src/facilities/nursery/utils/nurseryUtils.js
+++ b/src/facilities/nursery/utils/nurseryUtils.js
@@ -217,6 +217,7 @@ App.Facilities.Nursery.infantToChild = function infantToChild(child) {
 	child.intelligence = 100;
 	child.intelligenceImplant = 0;
 	child.labia = jsRandom(0, 2);
+	child.labor = 0;
 	child.lactation = 0;
 	child.lactationAdaptation = 0;
 	child.lactationDuration = 0;
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 7c424621e422c71d4d41555a93a0a862ccf8fee9..a7d3dd2f015e31757ee2fe7f2498b6f595c232a0 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -1278,6 +1278,11 @@ App.Entity.SlaveState = class SlaveState {
 		 * Mainly informative only. Updated automatically at birth process based on remaining fetuses. 0 - 37
 		 */
 		this.broodmotherCountDown = 0;
+		/**
+		 * variable used to set off the birth events
+		 *
+		 * 1: birth this week; 0: not time yet */
+		this.labor = 0;
 		/**
 		 * may accept strings, use at own risk
 		 *
@@ -2398,6 +2403,8 @@ App.Entity.SlaveState = class SlaveState {
 		this.origBodyOwner = "";
 		/** Who, if relevant, the body belonged to. */
 		this.origBodyOwnerID = 0;
+		/** Cause of slave death. */
+		this.death = "";
 		/**
 		 * Slave's current hormonal balance, directs saHormones changes
 		 *
diff --git a/src/js/statsChecker/pregChecker.js b/src/js/statsChecker/pregChecker.js
index 98958c620c39f73e4dfb6757c75cf05082779d9f..70b5e83a125a0dc4fd9e29199ddc5b1184460b5f 100644
--- a/src/js/statsChecker/pregChecker.js
+++ b/src/js/statsChecker/pregChecker.js
@@ -1,11 +1,16 @@
 globalThis.isInLabor = function(slave) {
-	return V.birthIDs.includes(slave.ID);
+	return (slave.labor);
+	// return V.birthIDs.includes(slave.ID);
 };
 
 globalThis.startLabor = function(slave) {
+	slave.labor = 1;
+
+	/*
 	if (typeof slave === "number") {
 		V.birthIDs.push(slave);
 	} else {
 		V.birthIDs.push(slave.ID);
 	}
+	*/
 };
diff --git a/src/npc/slaveStats.tw b/src/npc/slaveStats.tw
index a28325d4adea22873a22b69ba3f50f625d95569e..40240ea24d7873fecf76c76bb0a958e38d1c2d84 100644
--- a/src/npc/slaveStats.tw
+++ b/src/npc/slaveStats.tw
@@ -462,6 +462,7 @@ Income: <<= num($activeSlave.lastWeeksRepIncome)>>
 		PCChildren: $activeSlave.counter.PCChildrenFathered
 		<br>KnockedUp: slaves: $activeSlave.counter.slavesKnockedUp,
 		<br>PC: $activeSlave.counter.PCKnockedUp
+		<br>labor: $activeSlave.labor,
 		Count: $activeSlave.counter.laborCount
 		<br>Births: $activeSlave.counter.births,
 		Total: $activeSlave.counter.birthsTotal
diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js
index 313490edd3e551a1e351bfccd614cc78f33eedd7..6bd6c2b2649a2870d6a8edb57d437ad9b8938754 100644
--- a/src/player/js/PlayerState.js
+++ b/src/player/js/PlayerState.js
@@ -1050,6 +1050,11 @@ App.Entity.PlayerState = class PlayerState {
 		 * Mainly informative only. Updated automatically at birth process based on remaining fetuses. 0 - 37
 		 */
 		this.broodmotherCountDown = 0;
+		/**
+		 * variable used to set off the birth events
+		 *
+		 * 1: birth this week; 0: not time yet */
+		this.labor = 0;
 		/**
 		 * may accept strings, use at own risk
 		 *
diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw
index ca0406d960e9714bd32b697302159ea7a3034fc4..54c9f0caa16a6ac6d0cd3571d7a3d0a9131260b4 100644
--- a/src/pregmod/widgets/bodyswapWidgets.tw
+++ b/src/pregmod/widgets/bodyswapWidgets.tw
@@ -188,6 +188,7 @@
 	<<set $args[0].preg = $args[1].preg>>
 	<<set $args[0].pregSource = $args[1].pregSource>>
 	<<set $args[0].pregType = $args[1].pregType>>
+	<<set $args[0].labor = $args[1].labor>>
 	<<set $args[0].clitSetting = $args[1].clitSetting>>
 	<<set $args[0].diet = $args[1].diet>>
 	<<set $args[0].dietCum = $args[1].dietCum>>