diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw
index 136531db6bbacdd38476b9f907e0145a830a771f..a995f62cb9c9369a23b15f0371c01af299bacd48 100644
--- a/src/uncategorized/generateXXSlave.tw
+++ b/src/uncategorized/generateXXSlave.tw
@@ -30,11 +30,10 @@
 <</if>>
 <<set $activeSlave.actualAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
 <<set $activeSlaveOneTimeMinAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
-<<set $activeSlaveOneTimeMinAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
-<<if ($arcologies[0].FSYouthPreferentialist != "unset") && ($arcologies[0].FSYouthPreferentialist >= random(1,200)) && $activeSlave.actualAge > 24>>
-  <<set $activeSlave.actualAge = random($activeSlaveOneTimeMinAge, $activeSlave.actualAge)>>
-<<elseif ($arcologies[0].FSMaturityPreferentialist != "unset") && ($arcologies[0].FSMaturityPreferentialist >= random(1,150)) && $activeSlaveOneTimeMaxAge > 24 && $activeSlave.actualAge <= 24>>
-  <<set $activeSlave.actualAge = random($activeSlave.actualAge, $activeSlaveOneTimeMaxAge)>>
+<<if ($arcologies[0].FSYouthPreferentialist != "unset") && ($arcologies[0].FSYouthPreferentialist >= random(1,100))>>
+	<<set $activeSlave.actualAge = Math.min($activeSlave.actualAge, $activeSlaveOneTimeMinAge)>>
+<<elseif ($arcologies[0].FSMaturityPreferentialist != "unset") && ($arcologies[0].FSMaturityPreferentialist >= random(1,200))>>
+	<<set $activeSlave.actualAge = Math.max($activeSlave.actualAge, $activeSlaveOneTimeMaxAge)>>
 <</if>>
 <<if $activeSlave.actualAge >= $retirementAge>>
 	<<set $activeSlave.actualAge = ($retirementAge-2)>>
diff --git a/src/uncategorized/generateXYSlave.tw b/src/uncategorized/generateXYSlave.tw
index 074d239172caeb39deecc13826fa04d3715460d3..66e1793a7bdac25109737ecc5ee6b50919cb2f61 100644
--- a/src/uncategorized/generateXYSlave.tw
+++ b/src/uncategorized/generateXYSlave.tw
@@ -31,10 +31,10 @@
 <</if>>
 <<set $activeSlave.actualAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
 <<set $activeSlaveOneTimeMinAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
-<<if ($arcologies[0].FSYouthPreferentialist != "unset") && ($arcologies[0].FSYouthPreferentialist >= random(1,200)) && $activeSlave.actualAge > 24>>
-  <<set $activeSlave.actualAge = random($activeSlaveOneTimeMinAge, $activeSlave.actualAge)>>
-<<elseif ($arcologies[0].FSMaturityPreferentialist != "unset") && ($arcologies[0].FSMaturityPreferentialist >= random(1,150)) && $activeSlaveOneTimeMaxAge > 24 && $activeSlave.actualAge <= 24>>
-  <<set $activeSlave.actualAge = random($activeSlave.actualAge, $activeSlaveOneTimeMaxAge)>>
+<<if ($arcologies[0].FSYouthPreferentialist != "unset") && ($arcologies[0].FSYouthPreferentialist >= random(1,100))>>
+  <<set $activeSlave.actualAge = Math.min($activeSlave.actualAge, $activeSlaveOneTimeMinAge)>>
+<<elseif ($arcologies[0].FSMaturityPreferentialist != "unset") && ($arcologies[0].FSMaturityPreferentialist >= random(1,200))>>
+  <<set $activeSlave.actualAge = Math.max($activeSlave.actualAge, $activeSlaveOneTimeMaxAge)>>
 <</if>>
 <<if $activeSlave.actualAge >= $retirementAge>>
 	<<set $activeSlave.actualAge = ($retirementAge-2)>>