diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw
index ded7a8e4d41c1eefbd9aa1277ed6d33282d54d29..7d24761c058a62effb25fc4ebf7bc8550e47f382 100644
--- a/src/events/intro/initNationalities.tw
+++ b/src/events/intro/initNationalities.tw
@@ -800,7 +800,7 @@
 /* SET HEROES */
 
 <<set $heroSlaves = []>>
-<<BaseSlave>>
+<<set $activeSlave = BaseSlave()>>
 <<set $baseHeroSlave = clone($activeSlave)>>
 
 <<if ($seeDicks > 0) && ($seeDicks < 100)>>
diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js
index 71328849036a3ad12ae949ec986f6b8ba6f0b2c3..c76f15559a38cf3b21d6e4107396a5c411be60b7 100644
--- a/src/js/generateGenetics.js
+++ b/src/js/generateGenetics.js
@@ -1036,8 +1036,7 @@ window.generateChild = function (mother, ova, destination) {
 		V.ageAdjustOverride = 1;
 
 		if (genes.gender === "XX") {
-			GenerateNewSlave("XX");
-			child = V.activeSlave;
+			child = GenerateNewSlave("XX");
 			child.slaveSurname = genes.surname;
 			if (!pregUpgrade) {
 				if (genes.mother === -1) {
@@ -1127,8 +1126,7 @@ window.generateChild = function (mother, ova, destination) {
 				}
 			}
 		} else {
-			GenerateNewSlave("XY");
-			child = V.activeSlave;
+			child = GenerateNewSlave("XY");
 			child.slaveSurname = genes.surname;
 			if (!pregUpgrade) {
 				if (genes.mother === -1) {
diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index 5c5abb46c0f7fa95e5604c79d781644e9718a3bf..1c66d62ab5ef37eb161ba818de7639395b3e8058 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -6,8 +6,7 @@ window.GenerateNewSlave = (function(){
 
 	function GenerateNewSlave(sex) {
 		V = State.variables;
-		BaseSlave();
-		slave = V.activeSlave;
+		slave = BaseSlave();
 
 		preGenCombinedStats();
 		if (!sex) {
@@ -33,8 +32,9 @@ window.GenerateNewSlave = (function(){
 		} else {
 			GenerateXXSlave();
 		}
-
 		postGenCleanup();
+
+		return slave;
 	}
 
 	function preGenCombinedStats() {
diff --git a/src/js/slaveGenerationJS.js b/src/js/slaveGenerationJS.js
index 8a9f5c913f1546bc366c3901703c7feb5ac42092..b2d66d403b277cad1b9a58095d014d058be5a1d8 100644
--- a/src/js/slaveGenerationJS.js
+++ b/src/js/slaveGenerationJS.js
@@ -1390,7 +1390,7 @@ window.randomizeAttraction = /** @param {App.Entity.SlaveState} slave*/ function
 };
 
 window.BaseSlave = function BaseSlave() {
-	State.variables.activeSlave = new App.Entity.SlaveState();
+	return new App.Entity.SlaveState();
 };
 
 window.generatePronouns = /** @param {App.Entity.SlaveState} slave*/ function generatePronouns(slave) {
diff --git a/src/npc/databases/cheatmodeDatabase.tw b/src/npc/databases/cheatmodeDatabase.tw
index d797156c68521b51911cb603f8f8fe38cab03173..bcc9e13e48c7592e7e86662654773609e71cda70 100644
--- a/src/npc/databases/cheatmodeDatabase.tw
+++ b/src/npc/databases/cheatmodeDatabase.tw
@@ -1,6 +1,6 @@
 :: Cheatmode Database [nobr]
 
-<<BaseSlave>>
+<<set $activeSlave = BaseSlave()>>
 <<set _HS = clone($activeSlave)>>
 <<set _HS.slaveName = "Miss Anne", _HS.birthName = "Lindy Anne", _HS.ID = 990000, _HS.relation = "mother", _HS.relationTarget = 990004, _HS.relationship = 4, _HS.relationshipTarget = 990001, _HS.rivalry = 1, _HS.rivalryTarget = 990002, _HS.assignment = "be your Head Girl", _HS.birthWeek = random(0,51), _HS.actualAge = 42, _HS.physicalAge = 42, _HS.visualAge = 42, _HS.ovaryAge = 42, _HS.ageImplant = 1, _HS.health = 50, _HS.devotion = 100, _HS.height = 175, _HS.eyeColor = "green", _HS.hColor = "honey blonde", _HS.skin = "pale", _HS.hStyle = "long", _HS.waist = -55, _HS.boobs = 1000, _HS.boobsImplant = 600, _HS.areolae = 1, _HS.butt = 4, _HS.buttImplant = 2, _HS.face = 55, _HS.lips = 35, _HS.anus = 1, _HS.makeup = 1, _HS.nails = 1, _HS.earPiercing = 1, _HS.oralSkill = 100, _HS.analSkill = 100, _HS.whoreSkill = 100, _HS.entertainSkill = 100, _HS.clothes = "a slave gown", _HS.intelligence = 100, _HS.energy = 65, _HS.attrXY = 40, _HS.fetishKnown = 1, _HS.customTat = "'Miss Anne' is tattooed in lovely flowing script over her collarbone.", _HS.customDesc = "She speaks with the rich accent of the Old South.">>
 <<if $seeDicks != 100>>
diff --git a/src/pregmod/manageCorporation.tw b/src/pregmod/manageCorporation.tw
index 652628a1b9416166017bebcc456a1833df54a390..1427a5a3d6708d78ccffb0974bda52ba5c5734c8 100644
--- a/src/pregmod/manageCorporation.tw
+++ b/src/pregmod/manageCorporation.tw
@@ -1849,7 +1849,7 @@ __Slave specialization__
 			<<if $corpSpecToken > 0 && $arcologies[0].FSHedonisticDecadence == "unset">>
 				[[Apply Strict Diet|Manage Corporation][$corpSpecWeight = 1, $corpSpecTimer = 2]] |
 			<</if>>
-			[[Aim for Healthy Weight][$corpSpecWeight = 3, $corpSpecTimer = 2]] | <<link "No Focus">><<unset $corpSpecWeight>><<set $corpSpecToken += 1, $corpSpecTimer = 2>><<goto "Manage Corporation">><</link>>
+			[[Aim for Healthy Weight|Manage Corporation][$corpSpecWeight = 3, $corpSpecTimer = 2]] | <<link "No Focus">><<unset $corpSpecWeight>><<set $corpSpecToken += 1, $corpSpecTimer = 2>><<goto "Manage Corporation">><</link>>
 		<</if>>
 	<<elseif $corpSpecWeight == 3>>
 		<br>The corporation is aiming for slaves with a healthy weight.
@@ -1862,7 +1862,7 @@ __Slave specialization__
 			<<if $corpSpecToken > 0 && $arcologies[0].FSPhysicalIdealist == "unset">>
 				[[Fatten Slaves|Manage Corporation][$corpSpecWeight = 6, $corpSpecTimer = 2]] |
 			<</if>>
-			[[Aim for Healthy Weight][$corpSpecWeight = 3, $corpSpecTimer = 2]] | <<link "No Focus">><<unset $corpSpecWeight>><<set $corpSpecToken += 1, $corpSpecTimer = 2>><<goto "Manage Corporation">><</link>>
+			[[Aim for Healthy Weight|Manage Corporation][$corpSpecWeight = 3, $corpSpecTimer = 2]] | <<link "No Focus">><<unset $corpSpecWeight>><<set $corpSpecToken += 1, $corpSpecTimer = 2>><<goto "Manage Corporation">><</link>>
 		<</if>>
 	<<elseif $corpSpecWeight == 6>>
 		<br>The corporation aims for fat slaves.
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index aad2d15b992e1303818c47608ee3f55392cd087d..479305fc95e946cf6fe7f9383a27f11f1f88751b 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -3456,7 +3456,7 @@ Setting missing slave variables:
 
 <<HeroSlavesCleanup>>
 <<run $heroSlaves.forEach(function(s) {if (s.pregType > 0 && Array.isArray(s.womb)) delete s.womb;})>>
-<<BaseSlave>>
+<<set $activeSlave = BaseSlave()>>
 <<set $baseHeroSlave = clone($activeSlave)>>
 Done!
 
diff --git a/src/uncategorized/generateNewSlave.tw b/src/uncategorized/generateNewSlave.tw
index f77773d4deee5b90ff13d5d21f8f48481ccd7915..e4aa6d859562d15bb44157932821f075f06e0064 100644
--- a/src/uncategorized/generateNewSlave.tw
+++ b/src/uncategorized/generateNewSlave.tw
@@ -1,3 +1,3 @@
 :: Generate New Slave [nobr]
 
-<<run GenerateNewSlave()>>
+<<set $activeSlave = GenerateNewSlave()>>
diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw
index a9e3ec9200c3b87a2c11a5ea380dfa78697061f0..f4c915d0f0b6d4696aff4dd52692c7179c3fe32a 100644
--- a/src/uncategorized/generateXXSlave.tw
+++ b/src/uncategorized/generateXXSlave.tw
@@ -1,3 +1,3 @@
 :: Generate XX Slave [nobr]
 
-<<run GenerateNewSlave("XX")>>
+<<set $activeSlave = GenerateNewSlave("XX")>>
diff --git a/src/uncategorized/generateXYSlave.tw b/src/uncategorized/generateXYSlave.tw
index c7d29889638e3c61bb6464f1a6878d7f67725ab5..47cf1b30672cb33dfff02328bb833871e7d19020 100644
--- a/src/uncategorized/generateXYSlave.tw
+++ b/src/uncategorized/generateXYSlave.tw
@@ -1,3 +1,3 @@
 :: Generate XY Slave [nobr]
 
-<<run GenerateNewSlave("XY")>>
+<<set $activeSlave = GenerateNewSlave("XY")>>
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index c81539fcf8e72e6a76bef5d1467d480f59a1990c..f864a7f8cf3e1648dc4e8715915c72db615f779d 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -5,7 +5,7 @@
 <<if $familyTesting == 1>>
 
 <<set $eventSlave = getSlave($recruiterSlave)>>
-<<run BaseSlave()>>
+<<set $activeSlave = BaseSlave()>>
 <<set $activeSlave = Object.assign($activeSlave, clone($genePool.find(function(o) { return o.ID == $eventSlave.ID; })))>>
 
 <span id="artFrame">
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index 898ee64e55060c16ff97f6bddcef94cc27d9134a..38471801d83659a165d5d6609107c993f48693a0 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -1,14 +1,5 @@
 :: slave creation widgets [widget nobr]
 
-/%
-	Base Slave Template.
-	Call as <<BaseSlave>>
-	Called from Gen XX, Gen XY, CheatMode DB, InitNationalities.
-%/
-<<widget "BaseSlave">>
-	<<run BaseSlave()>>
-<</widget>>
-
 /%
  Call as <<StartingGirlsWorkaround>>
 %/