diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js
index 547c0c0b16a62c871134dafc19a89408c8990e3e..b9e929ac2ab227a0af53caeeb332dec43caf307b 100644
--- a/src/js/generateGenetics.js
+++ b/src/js/generateGenetics.js
@@ -727,6 +727,44 @@ window.generateGenetics = (function() {
 			}
 		}
 
+		// superfetation
+		if (mother.geneticQuirks.superfetation === 2) {
+			if (sex === "XX") {
+				quirks.superfetation = 2;
+			} else {
+				quirks.superfetation = 1;
+			}
+		} else if (mother.geneticQuirks.superfetation === 1) {
+			chance = jsRandom(0, 1000);
+			if (father !== 0) {
+				if (father.geneticQuirks.superfetation >= 1) {
+					if (sex === "XX") {
+						if (chance > 750) {
+							quirks.superfetation = 2;
+						} else if (chance > 700) {
+							quirks.superfetation = 1;
+						}
+					} else {
+						if (chance > 700) {
+							quirks.superfetation = 1;
+						}
+					}
+				}
+			} else {
+				if (sex === "XX") {
+					if (chance > 950) {
+						quirks.superfetation = 2;
+					} else if (chance > 900) {
+						quirks.superfetation = 1;
+					}
+				} else {
+					if (chance > 900) {
+						quirks.superfetation = 1;
+					}
+				}
+			}
+		}
+
 		// well hung
 		if (father !== 0) {
 			if (mother.geneticQuirks.wellHung + father.geneticQuirks.wellHung >= 3) {
diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index 819e7e455d154063e48f2a9062582b79b0ebab0d..3173910ffe143fd907b6431a8e92421b6bcc6498 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -1102,6 +1102,10 @@ window.GenerateNewSlave = (function() {
 		} else if (chance >= 9900) {
 			slave.geneticQuirks.hyperFertility = 1;
 		}
+		chance = jsRandom(1, 100000);
+		if (chance < 3) {
+			slave.geneticQuirks.superfetation = 2;
+		}
 		chance = jsRandom(1, 20000);
 		if (chance === 777) {
 			slave.geneticQuirks.albinism = 2;