diff --git a/src/pregmod/birthStorm.tw b/src/pregmod/birthStorm.tw
index 2f12ac7e002b8312c32780536508d8e4cf9c7636..a5c0360ca54e487685bdfda64f898697ff855df4 100644
--- a/src/pregmod/birthStorm.tw
+++ b/src/pregmod/birthStorm.tw
@@ -64,8 +64,13 @@ The remote surgery allows the removal of the pregnancy generator through convent
 <<set $activeSlave.births += _curBabies>>
 <<set $activeSlave.birthsTotal += _curBabies>>
 <<set $birthsTotal += _curBabies>>
-
-<<set $activeSlave.pregWeek = -4>>
+<<if $activeSlave.geneticQuirks.fertility+$activeSlave.geneticQuirks.hyperFertility >= 4>>
+	<<set $activeSlave.pregWeek = -2>>
+<<elseif $activeSlave.geneticQuirks.hyperFertility > 1>>
+	<<set $activeSlave.pregWeek = -3>>
+<<else>>
+	<<set $activeSlave.pregWeek = -4>>
+<</if>>
 <<set $activeSlave.pregType = 0>>
 <<set $activeSlave.pregSource = 0>>
 <<set $activeSlave.pregKnown = 0>>
diff --git a/src/pregmod/csec.tw b/src/pregmod/csec.tw
index 1ec5dffb8da99abf5bc4d0969c727563c9b9bf2d..ef305e0e503a091a90837cf55f8a2769e9f4b71b 100644
--- a/src/pregmod/csec.tw
+++ b/src/pregmod/csec.tw
@@ -358,7 +358,13 @@ Since $his <<if $activeSlave.mpreg == 1>>ass<<else>>vagina<</if>> was spared fro
 	<<set $activeSlave.pregType = 0>>
 	<<set $activeSlave.pregSource = 0>>
 	<<set $activeSlave.pregKnown = 0>>
-	<<set $activeSlave.pregWeek = -4>>
+	<<if $activeSlave.geneticQuirks.fertility+$activeSlave.geneticQuirks.hyperFertility >= 4>>
+		<<set $activeSlave.pregWeek = -2>>
+	<<elseif $activeSlave.geneticQuirks.hyperFertility > 1>>
+		<<set $activeSlave.pregWeek = -3>>
+	<<else>>
+		<<set $activeSlave.pregWeek = -4>>
+	<</if>>
 	<<set $activeSlave.labor = 0>>
 	<<if $activeSlave.broodmother == 0 && $bellyImplants == 1>>
 		<br><br>
diff --git a/src/pregmod/saAgent.tw b/src/pregmod/saAgent.tw
index 0c93aca9771c115cf4000b8a5a0395fe105c2977..4f3098bb71c3f51e643e9f0cbb89560df4fabb36 100644
--- a/src/pregmod/saAgent.tw
+++ b/src/pregmod/saAgent.tw
@@ -423,9 +423,23 @@
 <</if>>
 
 <<if ($slaves[$i].preg > $slaves[$i].pregData.minLiveBirth) && ($slaves[$i].broodmother == 0) && (random(1,100) < 90)>>
-	<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombBirth($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0 >>
+	<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombBirth($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0 >>
+	<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+		<<set $slaves[$i].pregWeek = -2>>
+	<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+		<<set $slaves[$i].pregWeek = -3>>
+	<<else>>
+		<<set $slaves[$i].pregWeek = -4>>
+	<</if>>
 <<elseif ($slaves[$i].preg > $slaves[$i].pregData.normalBirth) && ($slaves[$i].broodmother == 0)>>
-	<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombBirth($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0>>
+	<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombBirth($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0>>
+	<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+		<<set $slaves[$i].pregWeek = -2>>
+	<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+		<<set $slaves[$i].pregWeek = -3>>
+	<<else>>
+		<<set $slaves[$i].pregWeek = -4>>
+	<</if>>
 <<elseif ($slaves[$i].preg > 37) && ($slaves[$i].broodmother > 0)>>
 	<<if $slaves[$i].broodmother > 0>>
 		<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], 37), WombBirth($slaves[$i], 37), $slaves[$i].preg = WombMaxPreg($slaves[$i])>>
diff --git a/src/pregmod/saClothes.tw b/src/pregmod/saClothes.tw
index db30132e92cc3b562ed50f875f0bb2e5f40e6f71..09c0d8520a3881ff95c0f785bcd7e31563c8ad98 100644
--- a/src/pregmod/saClothes.tw
+++ b/src/pregmod/saClothes.tw
@@ -431,7 +431,14 @@
 			The tight corseting has @@.orange;caused $him to miscarry,@@ which @@.red;damages $his health.@@
 			<<set $slaves[$i].health -= 20>>
 			<<if lastPregRule($slaves[$i],$defaultRules)>><<set $slaves[$i].preg = -1>><<else>><<set $slaves[$i].preg = 0>><</if>>
-			<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = -4>>
+			<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0>>
+			<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+				<<set $slaves[$i].pregWeek = -2>>
+			<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+				<<set $slaves[$i].pregWeek = -3>>
+			<<else>>
+				<<set $slaves[$i].pregWeek = -4>>
+			<</if>>
 			<<run SetBellySize($slaves[$i])>>
 			<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
 				<<if $slaves[$i].devotion < -50>>
@@ -774,7 +781,14 @@
 				The dildo penetrating $his womb @@.orange;caused $him to miscarry,@@ which @@.red;damages $his health.@@
 				<<set $slaves[$i].health -= 20>>
 				<<if lastPregRule($slaves[$i],$defaultRules)>><<set $slaves[$i].preg = -1>><<else>><<set $slaves[$i].preg = 0>><</if>>
-				<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = -4>>
+				<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0>>
+				<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+					<<set $slaves[$i].pregWeek = -2>>
+				<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+					<<set $slaves[$i].pregWeek = -3>>
+				<<else>>
+					<<set $slaves[$i].pregWeek = -4>>
+				<</if>>
 				<<run SetBellySize($slaves[$i])>>
 				$He is
 				<<if $slaves[$i].devotion < -50>>
diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw
index b25d38376b104933bfd80a46799dd6d3bae61394..c89e9ad5b885804b91ebc7b338516fab3f234648 100644
--- a/src/pregmod/sePlayerBirth.tw
+++ b/src/pregmod/sePlayerBirth.tw
@@ -637,7 +637,9 @@ You arrange yourself to give birth, relaxing until your body urges you to begin
 <</if>> /*closes SE*/
 
 <<set _badBirth = 0, $PC.pregSource = 0, $PC.pregType = 0, $PC.belly = 2000, WombFlush($PC)>>
-<<if $PC.geneticQuirks.fertility == 2>>
+<<if $PC.geneticQuirks.fertility+$PC.geneticQuirks.hyperFertility >= 4>>
+	<<set $PC.pregWeek = -2>>
+<<elseif $PC.geneticQuirks.hyperFertility == 2>>
 	<<set $PC.pregWeek = -3>>
 <<else>>
 	<<set $PC.pregWeek = -4>>
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index c57c03285d69eb82582863c7a88dfd319ed97a3f..5cd71e79bfe845929acbbf9e2c8eb5192ecc61b2 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -997,7 +997,13 @@ All in all,
 	<<set $slaves[$i].pregType = 0>>
 	<<set $slaves[$i].pregSource = 0>>
 	<<set $slaves[$i].pregKnown = 0>>
-	<<set $slaves[$i].pregWeek = -4>>
+	<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+		<<set $slaves[$i].pregWeek = -2>>
+	<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+		<<set $slaves[$i].pregWeek = -3>>
+	<<else>>
+		<<set $slaves[$i].pregWeek = -4>>
+	<</if>>
 <</if>>
 <<set $csec = 0>>
 
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 94a4171a2d06d2bf2beb068620844bb482067b22..b0ea34c0242432ff62cbc22054628299dd41f8ce 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -3060,12 +3060,26 @@
 			During $his weekly monitoring, it is discovered that $his womb is now home to @@.orange;less ova than last checkup.@@
 			<<if $slaves[$i].pregType == 0>>
 				For all intent and purposes, @@.yellow;$he is no longer pregnant.@@
-				<<set WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = 0>>
+				<<set WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0>>
+				<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+					<<set $slaves[$i].pregWeek = -2>>
+				<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+					<<set $slaves[$i].pregWeek = -3>>
+				<<else>>
+					<<set $slaves[$i].pregWeek = -4>>
+				<</if>>
 				<<run SetBellySize($slaves[$i])>>
 			<</if>>
 		<</if>>
 	<<elseif _oldCount > $slaves[$i].pregType && $slaves[$i].pregType == 0>>
-		<<set WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = 0>>
+		<<set WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0>>
+		<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+			<<set $slaves[$i].pregWeek = -2>>
+		<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+			<<set $slaves[$i].pregWeek = -3>>
+		<<else>>
+			<<set $slaves[$i].pregWeek = -4>>
+		<</if>>
 		<<run SetBellySize($slaves[$i])>>
 	<</if>>