diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index f0051b1444faacc4020154320b4e4a53f45bcf1b..80cd464ea9020e74152972e8757df4bbc9973d25 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -30622,6 +30622,126 @@ window.disabilityRoll = function disabilityRoll(slave) {
 	V.oneTimeDisableDisability = 0;
 };
 
+window.generateNationality = function generateNationality(slave) {
+	const V = State.variables;
+
+	if (V.fixedRace == 0) {
+		if (V.fixedNationality == 0) {
+			slave.nationality = hashChoice(V.nationalities);
+		} else {
+			slave.nationality = V.fixedNationality;
+			V.fixedNationality = 0;
+		}
+		nationalityToRace(slave);
+		
+		if (passage() == "Corporate Market" && (V.captureUpgradeRace != "unselected") && (V.captureUpgradeRace != "none")) {
+			if (V.captureUpgradeRace == "mixed race") {
+				slave.race = "mixed race";
+			} else {
+				const capUpgradeCheck = setup[V.captureUpgradeRace.toLowerCase().replace(/[ -]/g, '')+'Nationalities'];
+				const keys = Object.keys(capUpgradeCheck);
+				var capUpgradeNationalities = {};
+				for (var i = 0; i < keys.length; i++) {
+					if (keys[i] in V.nationalities) {
+						capUpgradeNationalities[keys[i]] = capUpgradeCheck[keys[i]];
+					}
+				}
+				if (Object.keys(capUpgradeNationalities).length > 0) {
+					slave.nationality = hashChoice(capUpgradeNationalities);
+				} else {
+					slave.nationality = hashChoice(capUpgradeCheck);
+				}
+				slave.race = V.captureUpgradeRace;
+			}
+		}
+
+	} else {
+		switch (V.fixedRace) {
+			case "white":
+				slave.nationality = hashChoice(setup.whiteNationalities);
+				break;
+			case "asian":
+				slave.nationality = hashChoice(setup.asianNationalities);
+				break;
+			case "latina":
+				slave.nationality = hashChoice(setup.latinaNationalities);
+				break;
+			case "black":
+				slave.nationality = hashChoice(setup.blackNationalities);
+				break;
+			case "pacific islander":
+				slave.nationality = hashChoice(setup.pacificislanderNationalities);
+				break;
+			case "southern european":
+				slave.nationality = hashChoice(setup.southerneuropeanNationalities);
+				break;
+			case "amerindian":
+				slave.nationality = hashChoice(setup.amerindianNationalities);
+				break;
+			case "semitic":
+				slave.nationality = hashChoice(setup.semiticNationalities);
+				break;
+			case "middle eastern":
+				slave.nationality = hashChoice(setup.middleeasternNationalities);
+				break;
+			case "indo-aryan":
+				slave.nationality = hashChoice(setup.indoaryanNationalities);
+				break;
+			case "malay":
+				slave.nationality = hashChoice(setup.malayNationalities);
+				break;
+			default:
+				slave.nationality = hashChoice(V.nationalities);
+		}
+		slave.race = V.fixedRace;
+		V.fixedRace = 0;
+	}
+};
+
+window.generateIntelligence = function generateIntelligence(slave) {
+	const gaussian = gaussianPair();
+	slave.intelligence = Intelligence.random();
+	if (State.variables.AgePenalty == 1 && slave.actualAge <= 24) {
+		if (gaussian[0] < gaussian[1] + slave.intelligence/29 + (slave.actualAge - 24)/8 - 0.35) {
+			slave.intelligenceImplant = 15;
+			if (slave.intelligenceImplant > 0 && jsRandom(15,150) < slave.intelligence) {
+				slave.intelligenceImplant = 30;
+			}
+		}
+	} else {
+		if (gaussian[0] < gaussian[1] + slave.intelligence/29 - 0.35) { /* 40.23% chance if intelligence is 0, 99.26% chance if intelligence is 100 */
+			slave.intelligenceImplant = 15;
+			if (slave.intelligenceImplant > 0 && jsRandom(15,150) < slave.intelligence) {
+				slave.intelligenceImplant = 30;
+			}
+		}
+	}
+};
+
+window.generateCareer = function generateCareer(slave) {
+	if (State.variables.AgePenalty == 1) {
+		if (slave.actualAge < 16) {
+			slave.career = setup.veryYoungCareers.random();
+		} else if (slave.actualAge <= 24) {
+			slave.career = setup.youngCareers.random();
+		} else if (slave.intelligenceImplant >= 15) {
+			slave.career = setup.educatedCareers.random();
+		} else {
+			slave.career = setup.uneducatedCareers.random();
+		}
+	} else {
+		if (slave.actualAge < 16) {
+			slave.career = setup.veryYoungCareers.random();
+		} else if (slave.intelligenceImplant >= 15) {
+			slave.career = setup.educatedCareers.random();
+		} else if (slave.actualAge <= 24) {
+			slave.career = setup.youngCareers.random();
+		} else {
+			slave.career = setup.uneducatedCareers.random();
+		}
+	}
+};
+
 /*SecForceEX JS*/
 window.SFC = function() {
 	const V = State.variables;
diff --git a/src/js/slaveGenerationJS.tw b/src/js/slaveGenerationJS.tw
index 34ca0c6415a616b9c1ef84dd05e7397b601d3c08..49d8ebb991c7db82e3389fa6f547355b8e6eb8b3 100644
--- a/src/js/slaveGenerationJS.tw
+++ b/src/js/slaveGenerationJS.tw
@@ -1335,3 +1335,123 @@ window.disabilityRoll = function disabilityRoll(slave) {
 	}
 	V.oneTimeDisableDisability = 0;
 };
+
+window.generateNationality = function generateNationality(slave) {
+	const V = State.variables;
+
+	if (V.fixedRace == 0) {
+		if (V.fixedNationality == 0) {
+			slave.nationality = hashChoice(V.nationalities);
+		} else {
+			slave.nationality = V.fixedNationality;
+			V.fixedNationality = 0;
+		}
+		nationalityToRace(slave);
+		
+		if (passage() == "Corporate Market" && (V.captureUpgradeRace != "unselected") && (V.captureUpgradeRace != "none")) {
+			if (V.captureUpgradeRace == "mixed race") {
+				slave.race = "mixed race";
+			} else {
+				const capUpgradeCheck = setup[V.captureUpgradeRace.toLowerCase().replace(/[ -]/g, '')+'Nationalities'];
+				const keys = Object.keys(capUpgradeCheck);
+				var capUpgradeNationalities = {};
+				for (var i = 0; i < keys.length; i++) {
+					if (keys[i] in V.nationalities) {
+						capUpgradeNationalities[keys[i]] = capUpgradeCheck[keys[i]];
+					}
+				}
+				if (Object.keys(capUpgradeNationalities).length > 0) {
+					slave.nationality = hashChoice(capUpgradeNationalities);
+				} else {
+					slave.nationality = hashChoice(capUpgradeCheck);
+				}
+				slave.race = V.captureUpgradeRace;
+			}
+		}
+
+	} else {
+		switch (V.fixedRace) {
+			case "white":
+				slave.nationality = hashChoice(setup.whiteNationalities);
+				break;
+			case "asian":
+				slave.nationality = hashChoice(setup.asianNationalities);
+				break;
+			case "latina":
+				slave.nationality = hashChoice(setup.latinaNationalities);
+				break;
+			case "black":
+				slave.nationality = hashChoice(setup.blackNationalities);
+				break;
+			case "pacific islander":
+				slave.nationality = hashChoice(setup.pacificislanderNationalities);
+				break;
+			case "southern european":
+				slave.nationality = hashChoice(setup.southerneuropeanNationalities);
+				break;
+			case "amerindian":
+				slave.nationality = hashChoice(setup.amerindianNationalities);
+				break;
+			case "semitic":
+				slave.nationality = hashChoice(setup.semiticNationalities);
+				break;
+			case "middle eastern":
+				slave.nationality = hashChoice(setup.middleeasternNationalities);
+				break;
+			case "indo-aryan":
+				slave.nationality = hashChoice(setup.indoaryanNationalities);
+				break;
+			case "malay":
+				slave.nationality = hashChoice(setup.malayNationalities);
+				break;
+			default:
+				slave.nationality = hashChoice(V.nationalities);
+		}
+		slave.race = V.fixedRace;
+		V.fixedRace = 0;
+	}
+};
+
+window.generateIntelligence = function generateIntelligence(slave) {
+	const gaussian = gaussianPair();
+	slave.intelligence = Intelligence.random();
+	if (State.variables.AgePenalty == 1 && slave.actualAge <= 24) {
+		if (gaussian[0] < gaussian[1] + slave.intelligence/29 + (slave.actualAge - 24)/8 - 0.35) {
+			slave.intelligenceImplant = 15;
+			if (slave.intelligenceImplant > 0 && jsRandom(15,150) < slave.intelligence) {
+				slave.intelligenceImplant = 30;
+			}
+		}
+	} else {
+		if (gaussian[0] < gaussian[1] + slave.intelligence/29 - 0.35) { /* 40.23% chance if intelligence is 0, 99.26% chance if intelligence is 100 */
+			slave.intelligenceImplant = 15;
+			if (slave.intelligenceImplant > 0 && jsRandom(15,150) < slave.intelligence) {
+				slave.intelligenceImplant = 30;
+			}
+		}
+	}
+};
+
+window.generateCareer = function generateCareer(slave) {
+	if (State.variables.AgePenalty == 1) {
+		if (slave.actualAge < 16) {
+			slave.career = setup.veryYoungCareers.random();
+		} else if (slave.actualAge <= 24) {
+			slave.career = setup.youngCareers.random();
+		} else if (slave.intelligenceImplant >= 15) {
+			slave.career = setup.educatedCareers.random();
+		} else {
+			slave.career = setup.uneducatedCareers.random();
+		}
+	} else {
+		if (slave.actualAge < 16) {
+			slave.career = setup.veryYoungCareers.random();
+		} else if (slave.intelligenceImplant >= 15) {
+			slave.career = setup.educatedCareers.random();
+		} else if (slave.actualAge <= 24) {
+			slave.career = setup.youngCareers.random();
+		} else {
+			slave.career = setup.uneducatedCareers.random();
+		}
+	}
+};
diff --git a/src/npc/acquisition.tw b/src/npc/acquisition.tw
index 4521c5294559120d53029802b8d0326b7a9aad16..c716220f5827544ab5f7e8b3b2d48cdef73cc71e 100644
--- a/src/npc/acquisition.tw
+++ b/src/npc/acquisition.tw
@@ -684,8 +684,10 @@ The previous owner seems to have left in something of a hurry.
 		<</for>>
 	<</for>>
 <</if>>
-<<set $averageTrust = $averageTrust/_slavesContributing>>
-<<set $averageDevotion = $averageDevotion/_slavesContributing>>
+<<if _slavesContributing != 0>>
+	<<set $averageTrust = $averageTrust/_slavesContributing>>
+	<<set $averageDevotion = $averageDevotion/_slavesContributing>>
+<</if>>
 <<set $enduringTrust = $averageTrust>>
 <<set $enduringDevotion = $averageDevotion>>
 
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 4957ab1e9ae70cebf1104e1b9f3c29a41ec8b705..f411dd07205d15d6dc547739398cd2777ae0a678 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -205,7 +205,10 @@
 <<if def $vaginaTotal>>
 	<<unset $vaginaTotal>>
 <</if>>
-
+<<set $enduringTrust = Number($enduringTrust) || 0>>
+<<set $enduringDevotion = Number($enduringDevotion) || 0>>
+<<set $averageTrust = Number($averageTrust) || 0>>
+<<set $averageDevotion = Number($averageDevotion) || 0>>
 
 /* pregmod stuff */
 
diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw
index 6b664774f62540e109d1b858ac85b871e51c3f8f..b84d7aad72dfaf190119ee7f28959328e8ccdd14 100644
--- a/src/uncategorized/generateXXSlave.tw
+++ b/src/uncategorized/generateXXSlave.tw
@@ -27,36 +27,8 @@
 <<set $activeSlave.ID = $IDNumber++>>
 <<set $activeSlave.weekAcquired = $week>>
 
-<<set _gaussianPair = gaussianPair()>>
-<<set $activeSlave.intelligence = Intelligence.random()>>
-<<if _gaussianPair[0] < _gaussianPair[1] + $activeSlave.intelligence/29 - 0.35>> /* 40.23% chance if intelligence is 0, 99.26% chance if intelligence is 100 */
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<if random(15,150) < $activeSlave.intelligence>>
-		<<set $activeSlave.intelligenceImplant = 30>>
-	<</if>>
-<</if>>
-
-<<if $AgePenalty == 1>>
-	<<if ($activeSlave.actualAge < 16)>>
-		<<set $activeSlave.career = setup.veryYoungCareers.random()>>
-	<<elseif ($activeSlave.actualAge <= 24)>>
-		<<set $activeSlave.career = setup.youngCareers.random()>>
-	<<elseif ($activeSlave.intelligenceImplant >= 15)>>
-		<<set $activeSlave.career = setup.educatedCareers.random()>>
-	<<else>>
-		<<set $activeSlave.career = setup.uneducatedCareers.random()>>
-	<</if>>
-<<else>>
-	<<if ($activeSlave.actualAge < 16)>>
-		<<set $activeSlave.career = setup.veryYoungCareers.random()>>
-	<<elseif ($activeSlave.intelligenceImplant >= 15)>>
-		<<set $activeSlave.career = setup.educatedCareers.random()>>
-	<<elseif ($activeSlave.actualAge <= 24)>>
-		<<set $activeSlave.career = setup.youngCareers.random()>>
-	<<else>>
-		<<set $activeSlave.career = setup.uneducatedCareers.random()>>
-	<</if>>
-<</if>>
+<<run generateIntelligence($activeSlave)>>
+<<run generateCareer($activeSlave)>>
 
 <<set $activeSlave.vaginalSkill = random(0,15)>>
 <<set $activeSlave.analSkill = random(0,15)>>
@@ -89,69 +61,7 @@
 
 /% Begin height replacement section. %/
 /% Since we use nationality for height effects we need to initialize it now instead of later on like in vanilla Free Cities. %/
-<<if $fixedRace == 0>>
-	<<if $fixedNationality == 0>>
-		<<set $activeSlave.nationality = hashChoice($nationalities)>>
-	<<else>>
-		<<set $activeSlave.nationality = $fixedNationality>>
-		<<set $fixedNationality = 0>>
-	<</if>>
-	<<run nationalityToRace($activeSlave)>>
-	/* Corporate slavegen with race selection */
-	<<if passage() == "Corporate Market" && ($captureUpgradeRace != "unselected") && ($captureUpgradeRace != "none")>>
-		<<if $captureUpgradeRace == "mixed race">>
-			<<set $activeSlave.race = "mixed race">>
-		<<else>>
-			<<set _capUpgradeCheck = setup[$captureUpgradeRace.toLowerCase().replace(/[ -]/g, '')+'Nationalities']>>
-			<<set _capUpgradeNationalities = {}>>
-			<<set _keys = Object.keys(_capUpgradeCheck)>>
-			<<for _u = 0; _u < _keys.length; _u++>>
-				<<set _capNation = _keys[_u]>>
-				<<if _capNation in $nationalities>>
-					<<set _capUpgradeNationalities[_capNation] = _capUpgradeCheck[_capNation]>>
-				<</if>>
-			<</for>>
-			<<if Object.keys(_capUpgradeNationalities).length > 0>>
-				<<set $activeSlave.nationality = hashChoice(_capUpgradeNationalities), $activeSlave.race = $captureUpgradeRace>>
-			<<else>>
-				<<set $activeSlave.nationality = hashChoice(_capUpgradeCheck), $activeSlave.race = $captureUpgradeRace>>
-			<</if>>
-		<</if>>
-		<<if $activeSlave.race != $captureUpgradeRace>>
-			<<set $activeSlave.race = $captureUpgradeRace>>
-		<</if>>
-	<</if>>
-	/*end Corporate slavegen with race selection */
-<<else>>
-	<<switch $fixedRace>>
-	<<case "white">>
-		<<set $activeSlave.nationality = hashChoice(setup.whiteNationalities)>>
-	<<case "asian">>
-		<<set $activeSlave.nationality = hashChoice(setup.asianNationalities)>>
-	<<case "latina">>
-		<<set $activeSlave.nationality = hashChoice(setup.latinaNationalities)>>
-	<<case "black">>
-		<<set $activeSlave.nationality = hashChoice(setup.blackNationalities)>>
-	<<case "pacific islander">>
-		<<set $activeSlave.nationality = hashChoice(setup.pacificislanderNationalities)>>
-	<<case "southern european">>
-		<<set $activeSlave.nationality = hashChoice(setup.southerneuropeanNationalities)>>
-	<<case "amerindian">>
-		<<set $activeSlave.nationality = hashChoice(setup.amerindianNationalities)>>
-	<<case "semitic">>
-		<<set $activeSlave.nationality = hashChoice(setup.semiticNationalities)>>
-	<<case "middle eastern">>
-		<<set $activeSlave.nationality = hashChoice(setup.middleeasternNationalities)>>
-	<<case "indo-aryan">>
-		<<set $activeSlave.nationality = hashChoice(setup.indoaryanNationalities)>>
-	<<case "malay">>
-		<<set $activeSlave.nationality = hashChoice(setup.malayNationalities)>>
-	<<default>>
-		<<set $activeSlave.nationality = hashChoice($nationalities)>>
-	<</switch>>
-	<<set $activeSlave.race = $fixedRace>>
-	<<set $fixedRace = 0>>
-<</if>>
+<<run generateNationality($activeSlave)>> /* includes race selection */
 <<run nationalityToName($activeSlave)>>
 <<run nationalityToAccent($activeSlave)>>
 
diff --git a/src/uncategorized/generateXYSlave.tw b/src/uncategorized/generateXYSlave.tw
index 10a2443f40175623c1b48754899de2c3ad2b34f8..8810d3fa11c183725c6c014318243b96adfa384e 100644
--- a/src/uncategorized/generateXYSlave.tw
+++ b/src/uncategorized/generateXYSlave.tw
@@ -26,36 +26,8 @@
 <<set $activeSlave.ID = $IDNumber++>>
 <<set $activeSlave.weekAcquired = $week>>
 
-<<set _gaussianPair = gaussianPair()>>
-<<set $activeSlave.intelligence = Intelligence.random()>>
-<<if _gaussianPair[0] < _gaussianPair[1] + $activeSlave.intelligence/29 - 0.35>> /* 40.23% chance if intelligence is 0, 99.26% chance if intelligence is 100 */
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<if random(15,150) < $activeSlave.intelligence>>
-		<<set $activeSlave.intelligenceImplant = 30>>
-	<</if>>
-<</if>>
-
-<<if $AgePenalty == 1>>
-	<<if ($activeSlave.actualAge < 16)>>
-		<<set $activeSlave.career = setup.veryYoungCareers.random()>>
-	<<elseif ($activeSlave.actualAge <= 24)>>
-		<<set $activeSlave.career = setup.youngCareers.random()>>
-	<<elseif ($activeSlave.intelligenceImplant >= 15)>>
-		<<set $activeSlave.career = setup.educatedCareers.random()>>
-	<<else>>
-		<<set $activeSlave.career = setup.uneducatedCareers.random()>>
-	<</if>>
-<<else>>
-	<<if ($activeSlave.actualAge < 16)>>
-		<<set $activeSlave.career = setup.veryYoungCareers.random()>>
-	<<elseif ($activeSlave.intelligenceImplant >= 15)>>
-		<<set $activeSlave.career = setup.educatedCareers.random()>>
-	<<elseif ($activeSlave.actualAge <= 24)>>
-		<<set $activeSlave.career = setup.youngCareers.random()>>
-	<<else>>
-		<<set $activeSlave.career = setup.uneducatedCareers.random()>>
-	<</if>>
-<</if>>
+<<run generateIntelligence($activeSlave)>>
+<<run generateCareer($activeSlave)>>
 
 <<set $activeSlave.vaginalSkill = 0>>
 <<set $activeSlave.analSkill = random(0,15)>>
@@ -94,71 +66,8 @@
 <</if>>
 
 /% Begin height replacement section. %/
-
 /% Since we use nationality for height effects we need to initialize it now instead of later on like in vanilla Free Cities. %/
-<<if $fixedRace == 0>>
-	<<if $fixedNationality == 0>>
-		<<set $activeSlave.nationality = hashChoice($nationalities)>>
-	<<else>>
-		<<set $activeSlave.nationality = $fixedNationality>>
-		<<set $fixedNationality = 0>>
-	<</if>>
-	<<run nationalityToRace($activeSlave)>>
-	/* Corporate slavegen with race selection */
-	<<if passage() == "Corporate Market" && ($captureUpgradeRace != "unselected") && ($captureUpgradeRace != "none")>>
-		<<if $captureUpgradeRace == "mixed race">>
-			<<set $activeSlave.race = "mixed race">>
-		<<else>>
-			<<set _capUpgradeCheck = setup[$captureUpgradeRace.toLowerCase().replace(/[ -]/g, '')+'Nationalities']>>
-			<<set _capUpgradeNationalities = {}>>
-			<<set _keys = Object.keys(_capUpgradeCheck)>>
-			<<for _u = 0; _u < _keys.length; _u++>>
-				<<set _capNation = _keys[_u]>>
-				<<if _capNation in $nationalities>>
-					<<set _capUpgradeNationalities[_capNation] = _capUpgradeCheck[_capNation]>>
-				<</if>>
-			<</for>>
-			<<if Object.keys(_capUpgradeNationalities).length > 0>>
-				<<set $activeSlave.nationality = hashChoice(_capUpgradeNationalities), $activeSlave.race = $captureUpgradeRace>>
-			<<else>>
-				<<set $activeSlave.nationality = hashChoice(_capUpgradeCheck), $activeSlave.race = $captureUpgradeRace>>
-			<</if>>
-		<</if>>
-		<<if $activeSlave.race != $captureUpgradeRace>>
-			<<set $activeSlave.race = $captureUpgradeRace>>
-		<</if>>
-	<</if>>
-	/* end Corporate slavegen with race selection */
-<<else>>
-	<<switch $fixedRace>>
-	<<case "white">>
-		<<set $activeSlave.nationality = hashChoice(setup.whiteNationalities)>>
-	<<case "asian">>
-		<<set $activeSlave.nationality = hashChoice(setup.asianNationalities)>>
-	<<case "latina">>
-		<<set $activeSlave.nationality = hashChoice(setup.latinaNationalities)>>
-	<<case "black">>
-		<<set $activeSlave.nationality = hashChoice(setup.blackNationalities)>>
-	<<case "pacific islander">>
-		<<set $activeSlave.nationality = hashChoice(setup.pacificislanderNationalities)>>
-	<<case "southern european">>
-		<<set $activeSlave.nationality = hashChoice(setup.southerneuropeanNationalities)>>
-	<<case "amerindian">>
-		<<set $activeSlave.nationality = hashChoice(setup.amerindianNationalities)>>
-	<<case "semitic">>
-		<<set $activeSlave.nationality = hashChoice(setup.semiticNationalities)>>
-	<<case "middle eastern">>
-		<<set $activeSlave.nationality = hashChoice(setup.middleeasternNationalities)>>
-	<<case "indo-aryan">>
-		<<set $activeSlave.nationality = hashChoice(setup.indoaryanNationalities)>>
-	<<case "malay">>
-		<<set $activeSlave.nationality = hashChoice(setup.malayNationalities)>>
-	<<default>>
-		<<set $activeSlave.nationality = hashChoice($nationalities)>>
-	<</switch>>
-	<<set $activeSlave.race = $fixedRace>>
-	<<set $fixedRace = 0>>
-<</if>>
+<<run generateNationality($activeSlave)>> /* includes race selection */
 <<run nationalityToName($activeSlave)>>
 <<run nationalityToAccent($activeSlave)>>
 
diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw
index 4e06c517a16c1e23c385853582a83b345c9d4f2d..16192f4a140718f2a6888cef41207b441e0dfe8a 100644
--- a/src/uncategorized/main.tw
+++ b/src/uncategorized/main.tw
@@ -42,8 +42,8 @@
 	<br><br>@@.red; ERROR: The following variables are NaN! Please report this.@@<br>
 	<<for _main = 0; _main < $NaNArray.length; _main++>>
 		$NaNArray[_main] <br>
-	<</for>><br>
-	<<link "Hide NaN variables until next week">><<replace #NaNArray>><<set $NaNArray = []>><</replace>><</link>>
+	<</for>>
+	<<link "Hide NaN variables until next week">><<replace #NaNArray>><<set $NaNArray = []>><</replace>><</link>><br>
 <</if>>
 </span>
 /* end extra sanity checks and repair */
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index 7d5a7b7da8c31b65490cf25e5dd9dfa00fd34191..249d530cc45a6205eee21b59433642af1a95b71e 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -158,8 +158,10 @@
 		<<if $slaves[_i].pornTypePregnancy > 0>><<set $pornStarPregnancySluts++>><</if>>
 	<</if>>
 <</for>>
-<<set $averageTrust = $averageTrust/_slavesContributing>>
-<<set $averageDevotion = $averageDevotion/_slavesContributing>>
+<<if _slavesContributing != 0>>
+	<<set $averageTrust = $averageTrust/_slavesContributing>>
+	<<set $averageDevotion = $averageDevotion/_slavesContributing>>
+<</if>>
 <<set $enduringTrust = ($averageTrust+($enduringTrust*3))/4>>
 <<set $enduringDevotion = ($averageDevotion+($enduringDevotion*3))/4>>