diff --git a/src/pregmod/saAgent.tw b/src/pregmod/saAgent.tw
index 1951330fce7222b4cd85666c1fbd91d938a4d64c..d2560d353600544e6cd2ab902479278f19152577 100644
--- a/src/pregmod/saAgent.tw
+++ b/src/pregmod/saAgent.tw
@@ -362,16 +362,14 @@
 <</if>>
 
 <<if ($slaves[$i].preg > 37) && ($slaves[$i].broodmother == 0) && (random(1,100) > 90)>>
-	<<set $slaves[$i].birthsTotal += $slaves[$i].pregType, $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], 35), WombBirth($slaves[$i], 35), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0 >>
 	<<SetBellySize $slaves[$i]>>
 <<elseif ($slaves[$i].preg > 41) && ($slaves[$i].broodmother == 0)>>
-	<<set $slaves[$i].birthsTotal += $slaves[$i].pregType, $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], 35), WombBirth($slaves[$i], 35), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0>>
 	<<SetBellySize $slaves[$i]>>
 <<elseif ($slaves[$i].preg > 37) && ($slaves[$i].broodmother > 0)>>
-	<<if $slaves[$i].broodmother > 2>>
-		<<set $slaves[$i].birthsTotal += 12, $slaves[$i].preg = 37>>
-	<<else>>
-		<<set $slaves[$i].birthsTotal++, $slaves[$i].preg = 37>>
+	<<if $slaves[$i].broodmother > 0>>
+		<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], 37), WombBirth($slaves[$i], 37) $slaves[$i].preg = 37>>
 	<</if>>
 	<<SetBellySize $slaves[$i]>>
 <</if>>