diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 5de15393df44b6d3a0256ef3e4f96bad6c380325..0151ebf9f2c955cedad5a31837af7229a373ad6d 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -1362,7 +1362,15 @@
 	<<set $REReductionCheckinIDs.push($args[0].ID)>>
 <</if>>
 
-<<set $slaves.push($args[0]), $genePool.push($args[0])>>
+<<set $slaves.push($args[0])>>
+<<if $args[0].origin != "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel.">>
+	<<set $genePool.push($args[0])>>
+<<else>>
+	<<set _t = $genePool.findIndex(function(s) { return s.ID == $args[0].ID; })>>
+	<<if _t == -1>> /* traitor somehow not found */
+		<<set $genePool.push($args[0])>>
+	<</if>>
+<</if>>
 
 /* add to facilities array if needed */
 <<if $args[0].assignment != "rest">>