diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 258e4bb9a31d9c78aa02eccb53ede152d10fb8da..4c76e17b1186dd3608dea79408e81cd8d9060373 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -9,7 +9,7 @@
 		<<set $slaves[$i].assignment to "rest">>
 		<<set $slaves[$i].assignmentVisible to 1>>
 		<<set $slaves[$i].weekAcquired to 1>>
-		<<PMODinit>>
+		<<PMODinit $slaves[$i]>>
 		<<if $slaves[$i].mother > 0>>
 			<<set $slaves[$i].mother += 1200000>>
 		<<elseif $slaves[$i].mother < -1>>
diff --git a/src/npc/fSlaveImpreg.tw b/src/npc/fSlaveImpreg.tw
index ede68146ffe97a917aa982330ed5cea5cddccb4a..0c0b044f77c10f94cebd30a1be0220cfa49ce23c 100644
--- a/src/npc/fSlaveImpreg.tw
+++ b/src/npc/fSlaveImpreg.tw
@@ -17,7 +17,7 @@ __Select an eligible slave to serve as the semen donatrix:__
 	<<if ($slaves[$i].dick > 0)>>\
 	<<if ($slaves[$i].balls > 0)>>\
 	<<if ($slaves[$i].pubertyXY == 1)>>\
-	<<if ($slaves[$i].dick > 0)>>\
+	<<if canBreed($activeSlave, $slaves[$i])>>\
 	<<if ($slaves[$i].dickAccessory != "chastity")>>\
 	<<if ($slaves[$i].ID != $activeSlave.ID)>>\
 		<<print "[[$slaves[$i].slaveName|FSlaveImpreg Consummate][$impregnatrix to $slaves[" + $i + "]]]">>
diff --git a/src/pregmod/pregmodWidgets.tw b/src/pregmod/pregmodWidgets.tw
index 5d2e5e672e2a6ed2d22fc77e945bee711f26bd1e..f52e0f459c395e65fc1c41a3d9c62a2d9042ed06 100644
--- a/src/pregmod/pregmodWidgets.tw
+++ b/src/pregmod/pregmodWidgets.tw
@@ -1,130 +1,130 @@
 :: pregmod widgets [nobr widget] 
  
 <<widget PMODinit>>
-<<if ndef $activeSlave.actualAge>>
-	<<set $activeSlave.actualAge to $activeSlave.age>>
+<<if ndef $args[0].actualAge>>
+	<<set $args[0].actualAge to $args[0].age>>
 <</if>>
-<<if ndef $activeSlave.physicalAge>>
-	<<set $activeSlave.physicalAge to $activeSlave.actualAge>>
+<<if ndef $args[0].physicalAge>>
+	<<set $args[0].physicalAge to $args[0].actualAge>>
 <</if>>
-<<if ndef $activeSlave.visualAge>>
-	<<set $activeSlave.visualAge to $activeSlave.actualAge>>
+<<if ndef $args[0].visualAge>>
+	<<set $args[0].visualAge to $args[0].actualAge>>
 <</if>>
-<<if ndef $activeSlave.age>>
-	<<set $activeSlave.age to $activeSlave.actualAge>>
+<<if ndef $args[0].age>>
+	<<set $args[0].age to $args[0].actualAge>>
 <</if>>
-<<if ndef $activeSlave.boobsImplantType>>
-  <<set $activeSlave.boobsImplantType to 0>>
+<<if ndef $args[0].boobsImplantType>>
+  <<set $args[0].boobsImplantType to 0>>
 <</if>>
-<<if ndef $activeSlave.buttImplantType>>
-  <<set $activeSlave.buttImplantType to 0>>
+<<if ndef $args[0].buttImplantType>>
+  <<set $args[0].buttImplantType to 0>>
 <</if>>
-<<if ndef $activeSlave.bellyTat>>
-  <<set $activeSlave.bellyTat to 0>>
+<<if ndef $args[0].bellyTat>>
+  <<set $args[0].bellyTat to 0>>
 <</if>>
-<<if ndef $activeSlave.cSec>>
-  <<set $activeSlave.cSec to 0>>
+<<if ndef $args[0].cSec>>
+  <<set $args[0].cSec to 0>>
 <</if>>
-<<if ndef $activeSlave.labor>>
-  <<set $activeSlave.labor to 0>>
+<<if ndef $args[0].labor>>
+  <<set $args[0].labor to 0>>
 <</if>>
-<<if ndef $activeSlave.induce>>
-  <<set $activeSlave.induce to 0>>
+<<if ndef $args[0].induce>>
+  <<set $args[0].induce to 0>>
 <</if>>
-<<if ndef $activeSlave.mpreg>>
-  <<set $activeSlave.mpreg to 0>>
+<<if ndef $args[0].mpreg>>
+  <<set $args[0].mpreg to 0>>
 <</if>>
-<<if ndef $activeSlave.inflation>>
-  <<set $activeSlave.inflation to 0>>
+<<if ndef $args[0].inflation>>
+  <<set $args[0].inflation to 0>>
 <</if>>
-<<if ndef $activeSlave.inflationType>>
-  <<set $activeSlave.inflationType to "none">>
+<<if ndef $args[0].inflationType>>
+  <<set $args[0].inflationType to "none">>
 <</if>>
-<<if ndef $activeSlave.inflationMethod>>
-  <<set $activeSlave.inflationMethod to 0>>
+<<if ndef $args[0].inflationMethod>>
+  <<set $args[0].inflationMethod to 0>>
 <</if>>
-<<if ndef $activeSlave.milkSource>>
-  <<set $activeSlave.milkSource to 0>>
+<<if ndef $args[0].milkSource>>
+  <<set $args[0].milkSource to 0>>
 <</if>>
-<<if ndef $activeSlave.cumSource>>
-  <<set $activeSlave.cumSource to 0>>
+<<if ndef $args[0].cumSource>>
+  <<set $args[0].cumSource to 0>>
 <</if>>
-<<if ndef $activeSlave.burst>>
-  <<set $activeSlave.burst to 0>>
+<<if ndef $args[0].burst>>
+  <<set $args[0].burst to 0>>
 <</if>>
-<<if ndef $activeSlave.bellyImplant>>
-  <<set $activeSlave.bellyImplant to 0>>
+<<if ndef $args[0].bellyImplant>>
+  <<set $args[0].bellyImplant to 0>>
 <</if>>
-<<if ndef $activeSlave.bellySag>>
-  <<set $activeSlave.bellySag to 0>>
+<<if ndef $args[0].bellySag>>
+  <<set $args[0].bellySag to 0>>
 <</if>>
-<<if ndef $activeSlave.birthsTotal>>
-  <<set $activeSlave.birthsTotal to $activeSlave.births>>
+<<if ndef $args[0].birthsTotal>>
+  <<set $args[0].birthsTotal to $args[0].births>>
 <</if>>
-<<if ndef $activeSlave.pubertyAgeXX>>
-  <<set $activeSlave.pubertyAgeXX to $fertilityAge>>
+<<if ndef $args[0].pubertyAgeXX>>
+  <<set $args[0].pubertyAgeXX to $fertilityAge>>
 <</if>>
-<<if ndef $activeSlave.bellyPain>>
-	<<set $activeSlave.bellyPain = 0>>
+<<if ndef $args[0].bellyPain>>
+	<<set $args[0].bellyPain = 0>>
 <</if>>
-<<if ndef $activeSlave.scars>>
-	<<set $activeSlave.scars = 0>>
+<<if ndef $args[0].scars>>
+	<<set $args[0].scars = 0>>
 <</if>>
-<<if ndef $activeSlave.breedingMark>>
-	<<set $activeSlave.breedingMark = 0>>
+<<if ndef $args[0].breedingMark>>
+	<<set $args[0].breedingMark = 0>>
 <</if>>
-<<if ndef $activeSlave.underArmHColor>>
-	<<set $activeSlave.underArmHColor to $activeSlave.hColor>>
+<<if ndef $args[0].underArmHColor>>
+	<<set $args[0].underArmHColor to $args[0].hColor>>
 <</if>>
-<<if ndef $activeSlave.underArmHStyle>>
-	<<set $activeSlave.underArmHStyle to "waxed">>
+<<if ndef $args[0].underArmHStyle>>
+	<<set $args[0].underArmHStyle to "waxed">>
 <</if>>
-<<if ndef $activeSlave.prostateImplant>>
-	<<set $activeSlave.prostateImplant to 0>>
+<<if ndef $args[0].prostateImplant>>
+	<<set $args[0].prostateImplant to 0>>
 <</if>>
-<<if ndef $activeSlave.bodySwap>>
-	<<set $activeSlave.bodySwap = 0>>
+<<if ndef $args[0].bodySwap>>
+	<<set $args[0].bodySwap = 0>>
 <</if>>
-<<if ndef $activeSlave.father>>
-	<<set $activeSlave.father to 0>>
+<<if ndef $args[0].father>>
+	<<set $args[0].father to 0>>
 <</if>>
-<<if ndef $activeSlave.mother>>
-	<<set $activeSlave.mother to 0>>
+<<if ndef $args[0].mother>>
+	<<set $args[0].mother to 0>>
 <</if>>
-<<if ndef $activeSlave.daughters>>
-	<<set $activeSlave.daughters to 0>>
+<<if ndef $args[0].daughters>>
+	<<set $args[0].daughters to 0>>
 <</if>>
-<<if ndef $activeSlave.sisters>>
-	<<set $activeSlave.sisters to 0>>
+<<if ndef $args[0].sisters>>
+	<<set $args[0].sisters to 0>>
 <</if>>
-<<if ndef $activeSlave.canRecruit>>
-	<<set $activeSlave.canRecruit to 0>>
+<<if ndef $args[0].canRecruit>>
+	<<set $args[0].canRecruit to 0>>
 <</if>>
-<<if ndef $activeSlave.ballType>>
-	<<set $activeSlave.ballType to "human">>
+<<if ndef $args[0].ballType>>
+	<<set $args[0].ballType to "human">>
 <</if>>
-<<if ndef $activeSlave.eggType>>
-	<<set $activeSlave.eggType to "human">>
+<<if ndef $args[0].eggType>>
+	<<set $args[0].eggType to "human">>
 <</if>>
-<<if ndef $activeSlave.HGExclude>>
-	<<set $activeSlave.HGExclude to 0>>
+<<if ndef $args[0].HGExclude>>
+	<<set $args[0].HGExclude to 0>>
 <</if>>
 
-<<if ndef $activeSlave.pubertyXX>>
-	<<if $activeSlave.physicalAge >= $activeSlave.pubertyAgeXX>>
-		<<set $activeSlave.pubertyXX = 1>>
+<<if ndef $args[0].pubertyXX>>
+	<<if $args[0].physicalAge >= $args[0].pubertyAgeXX>>
+		<<set $args[0].pubertyXX = 1>>
 	<<else>>
-		<<set $activeSlave.pubertyXX = 0>>
+		<<set $args[0].pubertyXX = 0>>
 	<</if>>
 <</if>>
-<<if ndef $activeSlave.pubertyAgeXY>>
-  <<set $activeSlave.pubertyAgeXY to $potencyAge>>
+<<if ndef $args[0].pubertyAgeXY>>
+  <<set $args[0].pubertyAgeXY to $potencyAge>>
 <</if>>
-<<if ndef $activeSlave.pubertyAgeXY>>
-	<<if $activeSlave.physicalAge >= $activeSlave.pubertyAgeXY>>
-		<<set $activeSlave.pubertyXY = 1>>
+<<if ndef $args[0].pubertyAgeXY>>
+	<<if $args[0].physicalAge >= $args[0].pubertyAgeXY>>
+		<<set $args[0].pubertyXY = 1>>
 	<<else>>
-		<<set $activeSlave.pubertyXY = 0>>
+		<<set $args[0].pubertyXY = 0>>
 	<</if>>
 <</if>>
 <</widget>>
diff --git a/src/uncategorized/brothelReport.tw b/src/uncategorized/brothelReport.tw
index a953fd83ff3595b54d381b2a5c683d779ce6b6c4..02b9fa5d97aef1b5b53c200603b9178683a522d5 100644
--- a/src/uncategorized/brothelReport.tw
+++ b/src/uncategorized/brothelReport.tw
@@ -242,7 +242,7 @@ $Madam.slaveName is serving as the madam.<<if $Madam.relationship is -3>>  As yo
 	<<if ($legendaryWhoreID == 0) && ($slaves[$i].whoreSkill >= 100) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
 	<<set $legendaryWhoreID to $slaves[$i].ID>>
 	<</if>>
-	<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > 30) && ($slaves[$i].pregType < 50) && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
+	<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > 30) && ($slaves[$i].pregType < 50) && ($slaves[$i].eggType == "human") && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
 	<<set $legendaryWombID to $slaves[$i].ID>>
 	<</if>>
 	<<silently>>
diff --git a/src/uncategorized/clubReport.tw b/src/uncategorized/clubReport.tw
index b24bd8ad3afeba0f9c29b04964f150ad12e64b1d..4799a53a35fa873a4cfabfe18121f8a61b0dba28 100644
--- a/src/uncategorized/clubReport.tw
+++ b/src/uncategorized/clubReport.tw
@@ -146,7 +146,7 @@ $DJ.slaveName is serving as the DJ.<<if $DJ.relationship is -3>>  She tries her
 	<<if ($legendaryEntertainerID == 0) && ($slaves[$i].prestige == 0) && ($slaves[$i].entertainSkill >= 100) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
 	<<set $legendaryEntertainerID to $slaves[$i].ID>>
 	<</if>>
-	<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > 30) && ($slaves[$i].pregType < 50) && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
+	<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > 30) && ($slaves[$i].pregType < 50) && ($slaves[$i].eggType == "human") && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
 	<<set $legendaryWombID to $slaves[$i].ID>>
 	<</if>>
 	<<silently>>
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index c14e0faa1c37379cbab232e918347bd0f16a8666..9002fa95f46b2d210864809aed302d10d04e73a9 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -6,7 +6,7 @@
 
 &nbsp;&nbsp;&nbsp;&nbsp;
 
-<<PMODinit>>
+<<PMODinit $activeSlave>>
 
 ''@@color:pink;$activeSlave.slaveName@@''<<if ($activeSlave.customLabel != "")>> (@@color:yellow;''<<print $activeSlave.customLabel>>''@@)<</if>>
 
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 7837ed78ed8b4da34162f10e9b3df762197313b9..34c461b1befb912a04ba974f31a47d0df3113bec 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -3607,7 +3607,7 @@ and ($slaves[$i].clothes != "a slutty qipao") and ($slaves[$i].clothes != "restr
 	<</if>>
 	<</for>>
 <<elseif (($slaves[$i].vagina <= 0) || (($slaves[$i].ass <= 0) && ($slaves[$i].mpreg > 0)))>>
-<<elseif ($universalRulesImpregnation is "HG") && ($slaves[$i].HGExclude == 0) && ($HGCum > 0) && ($slaves[$i].ID != $HeadGirl.ID) && (($slaves[$i].vagina > 0) || (($slaves[$i].ass > 0) && ($slaves[$i].mpreg > 0))) && canBreed($slaves[$i], $HeadGirl)>>
+<<elseif ($universalRulesImpregnation is "HG") && ($slaves[$i].HGExclude == 0) && ($HGCum > 0) && ($slaves[$i].ID != $HeadGirl.ID) && canBreed($slaves[$i], $HeadGirl)>>
 	It's $HeadGirl.slaveName's responsibility to get $object pregnant, a task your
 	<<if ($HeadGirl.fetish is "pregnancy") && ($HeadGirl.fetishKnown == 1) && ($HeadGirl.fetishStrength > 60)>>
 	pregnancy fetishist Head Girl is @@color:hotpink;extremely pleased@@ to take on.
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index bd882bb269e19b47c72ff8e15d7e5416348136ad..e93c22fd83c3c9f46d2bd6533c60469e53986224 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -106,8 +106,8 @@
 	<</if>>
 	<</if>>
 	<span id = "impreg">
-	<<if ((canGetPregnant($activeSlave)) && ($activeSlave.clothes != "a Fuckdoll suit"))>>
-			<<if ($PC.dick != 0)>>
+	<<if (canGetPregnant($activeSlave))>>
+			<<if ($PC.dick != 0 && $activeSlave.eggType == "human")>>
 			| <<click "Impregnate her yourself">><<replace "#miniscene">><<display "FPCImpreg">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</click>>
 			<</if>>
 		| [[Use another slave to impregnate her|FSlaveImpreg]]
@@ -292,8 +292,8 @@
 	<</if>>
 <</if>>
 
-<br><br>
 <<if $universalRulesImpregnation == "HG">>
+<br><br>
 <<if $activeSlave.HGExclude == 0>>
 Will be bred by the head girl when fertile. [[Exempt her|Slave Interact][$activeSlave.useRulesAssistant to 1]]
 <<else>>
@@ -377,7 +377,7 @@ __Assignment__: <strong><span id="assign"><<print $activeSlave.assignment>></spa
 | <<click "Glory hole">><<set $activeSlave.assignment to "work a glory hole", $activeSlave.assignmentVisible to 1, $activeSlave.sentence to 0, $activeSlave.choosesOwnAssignment to 0>><<replace "#assign">><<print $activeSlave.assignment>><</replace>><</click>>
 <</if>>
 <<if $activeSlave.fuckdoll == 0>>
-<<if ($activeSlave.lactation > 0) || ($activeSlave.balls > 0)>>
+<<if ($activeSlave.lactation > 0) || ($activeSlave.balls > 0 && $activeSlave.ballType == "human")>>
 | <<click "Get milked">><<set $activeSlave.assignment to "get milked", $activeSlave.assignmentVisible to 1, $activeSlave.sentence to 0, $activeSlave.choosesOwnAssignment to 0>><<replace "#assign">><<print $activeSlave.assignment>><</replace>><</click>>
 <<else>>
 /*| //Not lactating// */
@@ -544,14 +544,14 @@ __Aphrodisiacs__: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 
 <span id="fertilityblock">
-<<if $activeSlave.fuckdoll == 0>>
+<<if $activeSlave.fuckdoll == 0 && ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1)>>
 <<if ($activeSlave.preg < -1)>>
 	//She is sterile//
-<<elseif ($activeSlave.pubertyXX == 0) && (($activeSlave.ovaries > 0) || ($activeSlave.mpreg == 0))>>
+<<elseif ($activeSlave.pubertyXX == 0)>>
 	//She is not yet fertile//
 <<elseif $activeSlave.physicalAge >= 47>>
 	//She is too old to become pregnant//
-<<elseif (($activeSlave.preg >= -1) && (($activeSlave.ovaries != 0)) || ($activeSlave.mpreg == 1))>>
+<<elseif (($activeSlave.preg >= -1)>>
 __Contraception__: <span id="fertility"><strong><<if $activeSlave.preg is -1>><<print "using contraceptives">><<elseif $activeSlave.preg == 0>><<print "fertile">><<elseif $activeSlave.preg < 4>><<print "may be pregnant">><<else>><<print $activeSlave.preg>><<print " weeks pregnant">><</if>></strong></span>.
 <<if ($activeSlave.preg == 0)>>
 	<<click "Use contraceptives">><<set $activeSlave.preg to -1>>
@@ -575,14 +575,14 @@ __Contraception__: <span id="fertility"><strong><<if $activeSlave.preg is -1>><<
 	[[Abort her pregnancy|Abort]]
 <</if>>
 <</if>>
-<<else>>
+<<elseif ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1)>>
 <<if ($activeSlave.preg < -1)>>
 	//It is sterile//
-<<elseif ($activeSlave.pubertyXX == 0) && (($activeSlave.ovaries > 0) || ($activeSlave.mpreg == 0))>>
+<<elseif ($activeSlave.pubertyXX == 0)>>
 	//It is not yet fertile//
 <<elseif $activeSlave.physicalAge >= 47>>
 	//It is too old to become pregnant//
-<<elseif (($activeSlave.preg >= -1) && (($activeSlave.ovaries != 0)) || ($activeSlave.mpreg == 1))>>
+<<elseif (($activeSlave.preg >= -1)>>
 __Contraception__: <span id="fertility"><strong><<if $activeSlave.preg is -1>><<print "using contraceptives">><<elseif $activeSlave.preg == 0>><<print "fertile">><<elseif $activeSlave.preg < 4>><<print "may be pregnant">><<else>><<print $activeSlave.preg>><<print " weeks pregnant">><</if>></strong></span>.
 <<if ($activeSlave.preg == 0)>>
 	<<click "Use contraceptives">><<set $activeSlave.preg to -1>>
@@ -605,8 +605,10 @@ __Contraception__: <span id="fertility"><strong><<if $activeSlave.preg is -1>><<
 <<if $activeSlave.fuckdoll == 0>>
 	<<if $activeSlave.breedingMark == 0>>
 		<<if isFertile($activeSlave)>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Breeder Eligibility Exam|BreedingTest]]
+			<<if $activeSlave.eggType == "human">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				[[Breeder Eligibility Exam|BreedingTest]]
+			<</if>>
 		<</if>>
 	<</if>>
 <</if>>
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 87317605111146d4be5b6d59aa8c10e16d1d52d0..445f5321ca4e71710253bb78f332f994eebc3c9f 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -274,7 +274,7 @@
 <<widget "SlaveInteractImpreg">>
 <<replace #impreg>>
 	<<if ((canGetPregnant($activeSlave)) && ($activeSlave.clothes != "a Fuckdoll suit"))>>
-		<<if ($PC.dick != 0)>>
+		<<if ($PC.dick != 0 && $activeSlave.eggType == "human")>>
 		| <<click "Impregnate her yourself">><<replace "#miniscene">><<display "FPCImpreg">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</click>>
 		<</if>>
 	| [[Use another slave to impregnate her|FSlaveImpreg]]
@@ -325,14 +325,14 @@
 %/
 <<widget "SlaveInteractFertility">>
 <<replace #fertilityblock>>
-<<if $activeSlave.fuckdoll == 0>>
+<<if $activeSlave.fuckdoll == 0 && ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1)>>
 	<<if ($activeSlave.preg < -1)>>
 		//She is sterile//
-	<<elseif ($activeSlave.pubertyXX == 0) && (($activeSlave.ovaries > 0) || ($activeSlave.mpreg == 0))>>
+	<<elseif ($activeSlave.pubertyXX == 0)>>
 		//She is not yet fertile//
 	<<elseif $activeSlave.physicalAge >= 47>>
 		//She is too old to become pregnant//
-	<<elseif (($activeSlave.preg >= -1) && (($activeSlave.ovaries != 0)) || ($activeSlave.mpreg == 1))>>
+	<<elseif (($activeSlave.preg >= -1)>>
 	__Contraception__: <span id="fertility"><strong><<if $activeSlave.preg is -1>><<print "using contraceptives">><<elseif $activeSlave.preg == 0>><<print "fertile">><<elseif $activeSlave.preg < 4>><<print "may be pregnant">><<else>><<print $activeSlave.preg>><<print " weeks pregnant">><</if>></strong></span>.
 	<<if ($activeSlave.preg == 0)>>
 		<<click "Use contraceptives">><<set $activeSlave.preg to -1>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</click>>
@@ -350,14 +350,14 @@
 		[[Abort her pregnancy|Abort]]
 	<</if>>
 	<</if>>
-<<else>>
+<<elseif ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1)>>
 	<<if ($activeSlave.preg < -1)>>
 		//It is sterile//
-	<<elseif ($activeSlave.pubertyXX == 0) && (($activeSlave.ovaries > 0) || ($activeSlave.mpreg == 0))>>
+	<<elseif ($activeSlave.pubertyXX == 0)>>
 		//It is not yet fertile//
 	<<elseif $activeSlave.physicalAge >= 47>>
 		//It is too old to become pregnant//
-	<<elseif (($activeSlave.preg >= -1) && (($activeSlave.ovaries != 0)) || ($activeSlave.mpreg == 1))>>
+	<<elseif (($activeSlave.preg >= -1)>>
 	__Contraception__: <span id="fertility"><strong><<if $activeSlave.preg is -1>><<print "using contraceptives">><<elseif $activeSlave.preg == 0>><<print "fertile">><<elseif $activeSlave.preg < 4>><<print "may be pregnant">><<else>><<print $activeSlave.preg>><<print " weeks pregnant">><</if>></strong></span>.
 	<<if ($activeSlave.preg == 0)>>
 		<<click "Use contraceptives">><<set $activeSlave.preg to -1>><<SlaveInteractFertility>><</click>>