diff --git a/src/pregmod/slaveSlaveSwap.tw b/src/pregmod/slaveSlaveSwap.tw
index b48d09b4a06ba6297cb6871fba1ae432a0e8004d..1a77380e29c0abf040ab11902a96919e0de54a6c 100644
--- a/src/pregmod/slaveSlaveSwap.tw
+++ b/src/pregmod/slaveSlaveSwap.tw
@@ -14,9 +14,9 @@
 <<ClearSummaryCache $slaves[_ss2]>>
 
 You strap $activeSlave.slaveName and $swappingSlave.slaveName into the remote surgery and stand back as it goes to work.
-<<BodySwap $slaves[_ss1] _ss2Clone>>
+<<BodySwap $slaves[_ss1] _ss2Clone 1>> /* passing a third argument just to detect if it's a slave from the genepool */
 <<BodySwap $genePool[_gps1] _gps2Clone>>
-<<BodySwap $slaves[_ss2] _ss1Clone>>
+<<BodySwap $slaves[_ss2] _ss1Clone 1>> /* passing a third argument just to detect if it's a slave from the genepool */
 <<BodySwap $genePool[_gps2] _gps1Clone>>
 
 <br><br>
diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw
index 7210caa5869d842c1e1446c451e8536ab48fa46e..f1372c85a77e4ff5e97d3556cdae454647e74b5d 100644
--- a/src/pregmod/widgets/bodyswapWidgets.tw
+++ b/src/pregmod/widgets/bodyswapWidgets.tw
@@ -39,7 +39,7 @@
 <<set $args[0].PLimb = $args[1].PLimb>>
 <<set $args[0].heels = $args[1].heels>>
 <<set $args[0].voice = $args[1].voice>>
-<<set $args[0].voiceImplat = $args[1].voiceImplant>>
+<<set $args[0].voiceImplant = $args[1].voiceImplant>>
 <<set $args[0].shoulders = $args[1].shoulders>>
 <<set $args[0].shouldersImplant = $args[1].shouldersImplant>>
 <<set $args[0].boobs = $args[1].boobs>>
@@ -163,11 +163,13 @@
 <<set $args[0].bellyFluid = $args[1].bellyFluid>>
 <<set $args[0].readyOva = $args[1].readyOva>>
 <<set $args[0].reservedChildren = $args[1].reservedChildren>>
-<<set $args[0].womb = clone($args[1].womb)>> /* this is array assigned by reference, if slave body that is $args[1] will be stil used anywhere in code (not discarded) - it's WRONG (they now technically share one womb object). Please tell me about it then. But if old body $args[1] just discarded - it's no problem then.*/
+<<set $args[0].womb = $args[1].womb>> /* this is array assigned by reference, if slave body that is $args[1] will be stil used anywhere in code (not discarded) - it's WRONG (they now technically share one womb object). Please tell me about it then. But if old body $args[1] just discarded - it's no problem then.*/
 <<set $args[0].laborCount = $args[1].laborCount>>
 
 <<set $args[0].canRecruit = 0>>
-<<assignJob $args[0] "rest">>
+<<if def $args[2]>>
+	<<assignJob $args[0] "rest">>
+<</if>>
 
 <</widget>>