diff --git a/src/js/wombJS.tw b/src/js/wombJS.tw
index a1dbe68df29385539f6ec31efcb3fb9a7c4e9467..c5c326fb3756cce480c43e0d5f6ab4359fcac5fd 100644
--- a/src/js/wombJS.tw
+++ b/src/js/wombJS.tw
@@ -32,11 +32,11 @@ window.WombInit = function(actor) //Init womb system.
 	   actor.womb = [];
     }
 
-    if (actor.womb.length != actor.pregType && actor.broodmother == 0) //backward compatibility setup. Fully accurate for normal pregnancy only.
+    if (actor.womb.length == 0 && actor.pregType != 0 && actor.broodmother == 0) //backward compatibility setup. Fully accurate for normal pregnancy only.
     {
         WombImpregnate(actor, actor.pregType, 0, actor.preg);
     }
-    elseif (actor.womb.length != actor.pregType && actor.broodmother == 1) //sorry but for already present broodmothers it's impossible to calculate fully, aproximation used.
+    elseif (actor.womb.length == 0 && actor.pregType != 0 && actor.broodmother == 1) //sorry but for already present broodmothers it's impossible to calculate fully, aproximation used.
     {
         var i, pw = actor.preg;
         if (pw > 40)
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 7ee7df538576896d0c786e252079d919be68c3ef..ce0c079f68649ba0bb8a7ec1dd9b0e85bb2e6e1a 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -2,9 +2,15 @@
 
 <<widget "initPC">>
 	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 3, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, birthWeek: 0, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35}>>
+
+	<<set WombInit($PC)>>
+
 <</widget>>
  
 <<widget "PMODinit">>
+
+<<set WombInit($args[0])>>
+
 <<if ndef $args[0].actualAge>>
 	<<set $args[0].actualAge = $args[0].age>>
 <</if>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index bc4dc271925a26a4bc3c1fd4f02c9b99da782a7f..b9ef7c5418529ab5905bf1177ad1ea0533b3d39f 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -2265,6 +2265,7 @@ Setting missing global variables:
 		<<set $PC.refreshmentType = 1>>
 	<</if>>
 <</if>>
+<<set WombInit($PC)>>
 
 Done!
 
@@ -2275,6 +2276,8 @@ Setting missing slave variables:
 
 <<PMODinit _Slave>>
 
+<<set WombInit($PC)>>
+
 <<if ndef _Slave.publicCount>>
 	<<set _Slave.publicCount = 0>>
 <</if>>
diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw
index 7e29696e92e2951094da4990f1a5b1bf2d8884d7..a2f1a1b49e459da6d0eefbe64e7d67562f8560ee 100644
--- a/src/uncategorized/generateXXSlave.tw
+++ b/src/uncategorized/generateXXSlave.tw
@@ -2,6 +2,7 @@
 
 <<BaseSlave>>
 /*missed variables - getting tired of this shit */
+<<WombInit($activeSlave)>>
 <<set $activeSlave.vaginaLube = 1, $activeSlave.ovaries = 1, $activeSlave.canRecruit = 1>>
 
 <<if $activeSlaveOneTimeMaxAge > 998>>
diff --git a/src/uncategorized/generateXYSlave.tw b/src/uncategorized/generateXYSlave.tw
index 7740c8fb538ea01903d8de90ded026d57640e171..42391ab1e0173d8f712400ce0a8741e2f9375509 100644
--- a/src/uncategorized/generateXYSlave.tw
+++ b/src/uncategorized/generateXYSlave.tw
@@ -2,6 +2,7 @@
 
 <<BaseSlave>>
 /% Defaults that differ from the old template %/
+<<WombInit($activeSlave)>>
 <<set $activeSlave.genes = "XY", $activeSlave.hLength = 10, $activeSlave.prostate = 1, $activeSlave.canRecruit = 1>>
 
 <<set $activeSlave.publicCount = 0>>