diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index f796c2c1cc67caa0ec99b638e1c2a0525c4148e2..f7a6028e1732ac6cce2ad9c936e5dacbe4ecd391 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -1,3 +1,23 @@
+window.GenerateChromosome = function() {
+	if (jsRandom(0, 99) < V.seeDicks) {
+		return "XY";
+	} else if (V.seeDicks > 0) {
+		let femaleSlaveGen = 80;
+		if (V.arcologies[0].FSGenderFundamentalistSMR === 1 || V.arcologies[0].FSRepopulationFocusSMR === 1) {
+			femaleSlaveGen = 90;
+		} else if (V.arcologies[0].FSGenderRadicalist !== "unset") {
+			femaleSlaveGen = 50;
+		}
+		if (jsRandom(1, 100) > femaleSlaveGen && jsRandom(0, 99) < V.seeDicks) {
+			return "XY";
+		} else {
+			return "XX";
+		}
+	} else {
+		return "XX";
+	}
+};
+
 /* eslint-disable camelcase */
 window.GenerateNewSlave = (function() {
 	"use strict";
@@ -34,23 +54,11 @@ window.GenerateNewSlave = (function() {
 
 		preGenCombinedStats();
 		if (!sex) {
-			if (jsRandom(0, 99) < V.seeDicks) {
-				GenerateXYSlave();
-			} else if (V.seeDicks > 0) {
-				let femaleSlaveGen = 80;
-				if (V.arcologies[0].FSGenderFundamentalistSMR === 1 || V.arcologies[0].FSRepopulationFocusSMR === 1) {
-					femaleSlaveGen = 90;
-				} else if (V.arcologies[0].FSGenderRadicalist !== "unset") {
-					femaleSlaveGen = 50;
-				}
-				if (jsRandom(1, 100) > femaleSlaveGen && jsRandom(0, 99) < V.seeDicks) {
-					GenerateXYSlave();
-				} else {
-					GenerateXXSlave();
-				}
-			} else {
-				GenerateXXSlave();
-			}
+		    if (GenerateChromosome() == "XY") {
+		        GenerateXYSlave();
+		    } else {
+		        GenerateXXSlave();
+		    }
 		} else if (sex === "XY") {
 			GenerateXYSlave();
 		} else {