diff --git a/src/js/generateRelatedSlave.js b/src/js/generateRelatedSlave.js
index e29472e48c2787dc3b8ce9172f7625f04d2dc787..cc323eeaec38a49affe17e8dfcf11b44f3197882 100644
--- a/src/js/generateRelatedSlave.js
+++ b/src/js/generateRelatedSlave.js
@@ -13,7 +13,7 @@ window.generateRelatedSlave = (function() {
 		if (relationship === "twin") {
 			makeTwin(relative);
 		} else if (relationship === "child") {
-			makeChild(relative);
+			makeChild(relative, slave.genes);
 		} else if (relationship === "parent") {
 			makeParent(relative);
 		} else if (relationship === "younger sibling") {
@@ -122,10 +122,11 @@ window.generateRelatedSlave = (function() {
 	/**
 	 * Finish configuring a child
 	 * @param {App.Entity.SlaveState} slave - the new child
+	 * @param {string} parentSex - the sex of the parent
 	 */
-	function makeChild(slave) {
-		slave.mother = slave.genes === "XX" ? sourceID : 0;
-		slave.father = slave.genes !== "XX" ? sourceID : 0;
+	function makeChild(slave, parentSex) {
+		slave.mother = parentSex === "XX" ? sourceID : 0;
+		slave.father = parentSex !== "XX" ? sourceID : 0;
 
 		// select age
 		const parentAge = slave.actualAge;
@@ -140,19 +141,23 @@ window.generateRelatedSlave = (function() {
 		slave.ovaryAge = slave.actualAge;
 		slave.birthWeek = random(0, 51);
 
-		// daughter always has less devotion/trust
+		// child always has less devotion/trust
 		slave.devotion -= 10;
 		slave.trust -= 10;
 
-		// daughter always has less boobs/butt
-		slave.boobs -= 100;
-		slave.butt -= 1;
+		// child always has less boobs/butt than mother
+		if (parentSex === "XX") {
+			slave.boobs -= 100;
+			slave.butt -= 1;
+		}
 
 		fuzzPhysicalTraits(slave);
 
 		// daughter has never had children and is likely a virgin
-		slave.vagina = either(0, 0, 0, 1);
-		slave.counter.birthsTotal = 0;
+		if (slave.genes === "XX") {
+			slave.vagina = either(0, 0, 0, 1);
+			slave.counter.birthsTotal = 0;
+		}
 
 		randomiseFetishFlaws(slave);
 	}