diff --git a/src/events/RE/reRebels.js b/src/events/RE/reRebels.js
index de6a4c848f1c74ff8b8f3b72f6a809462e63246f..1307aff535b1e64dd87f27e9809b09546a3eda05 100644
--- a/src/events/RE/reRebels.js
+++ b/src/events/RE/reRebels.js
@@ -130,65 +130,21 @@ App.Events.RERebels  = class RERebels extends App.Events.BaseEvent  {
 				}
 				r.push(`But it can't go on forever as the sound of the spoon clattering to the floor fills the room.`);
 				if (random(1, 100) <= 50) {
-					r.push(`You kick the stool out from under ${thingTwo.slaveName} and let ${him2} hang. ${thingOne.slaveName}`);
-					if (canSee(thingOne)) {
-						r.push(`watches`);
-					} else if (canHear(thingOne)) {
-						r.push(`listens`);
-					} else {
-						r.push(`stares blankly`);
-					}
-					r.push(`in horror as the life drains from ${his} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him} behaving strangely.</span>`);
-					thingOne.trust -= -20;
-					thingOne.behavioralFlaw = "odd";
-					removeSlave(thingTwo);
+					r.push(kickBucket(thingTwo, thingOne));
 				} else {
-					r.push(`You kick the stool out from under ${thingOne.slaveName} and let ${him} hang. ${thingTwo.slaveName}`);
-					if (canSee(thingTwo)) {
-						r.push(`watches`);
-					} else if (canHear(thingTwo)) {
-						r.push(`listens`);
-					} else {
-						r.push(`stares blankly`);
-					}
-					r.push(`in horror as the life drains from ${his2} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him2} behaving strangely.</span>`);
-					thingTwo.trust -= -20;
-					thingTwo.behavioralFlaw = "odd";
-					removeSlave(thingOne);
+					r.push(kickBucket(thingOne, thingTwo));
 				}
 			} else if (thingTwo.vagina > thingOne.vagina && random(1, 100) > 50) {
 				r.push(`You start with ${thingOne.slaveName} before moving to ${thingTwo.slaveName} as ${he} holds ${his} life between ${his} netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. ${thingOne.slaveName} is the clear favorite in this game, but the looser ${thingTwo.slaveName} refuses to give in, using ${his2} experience to clamp down as hard as ${he2} can. But it can't go on forever as the sound of the spoon clattering to the floor fills the room.`);
 				if (random(1, 100) <= 90) {
-					r.push(`You kick the stool out from under ${thingTwo.slaveName} and let ${him2} hang. ${thingOne.slaveName}`);
-					if (canSee(thingOne)) {
-						r.push(`watches`);
-					} else if (canHear(thingOne)) {
-						r.push(`listens`);
-					} else {
-						r.push(`stares blankly`);
-					}
-					r.push(`in horror as the life drains from ${his} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him} behaving strangely.</span>`);
-					thingOne.trust -= -20;
-					thingOne.behavioralFlaw = "odd";
-					removeSlave(thingTwo);
+					r.push(kickBucket(thingTwo, thingOne));
 				} else {
-					r.push(`You kick the stool out from under ${thingOne.slaveName} and let ${him} hang. thingTwo.slaveName`);
-					if (canSee(thingTwo)) {
-						r.push(`watches`);
-					} else if (canHear(thingTwo)) {
-						r.push(`listens`);
-					} else {
-						r.push(`stares blankly`);
-					}
-					r.push(`in horror as the life drains from ${his2} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him2} behaving strangely.</span>`);
+					r.push(kickBucket(thingOne, thingTwo));
 					if (thingTwo.vagina >= 3) {
 						r.push(`You can't say you expected this outcome, but it was amusing all the same to discover the blown out whore has some talent.`);
 					} else {
 						r.push(`You're glad no bets were riding on this.`);
 					}
-					thingTwo.trust -= -20;
-					thingTwo.behavioralFlaw = "odd";
-					removeSlave(thingOne);
 				}
 			} else {
 				r.push(`You start with ${thingOne.slaveName} before moving to ${thingTwo.slaveName} as ${he} holds ${his} life between ${his} netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. In a show of underhandedness, ${thingTwo.slaveName} kicks ${thingOne.slaveName}, knocking ${him} off balance and sending ${him} hanging. ${thingTwo.slaveName}`);
@@ -207,6 +163,32 @@ App.Events.RERebels  = class RERebels extends App.Events.BaseEvent  {
 
 			App.Events.addParagraph(frag, r);
 			return frag;
+
+			/**
+			 * @param {App.Entity.SlaveState} dead
+			 * @param {App.Entity.SlaveState} survivor
+			 * @returns {DocumentFragment}
+			 */
+			function kickBucket(dead, survivor) {
+				const {him} = getPronouns(dead);
+				const {his2, him2} = getPronouns(survivor).appendSuffix("2");
+				const frag = new DocumentFragment();
+				let r = [];
+				r.push(`You kick the stool out from under ${dead.slaveName} and let ${him} hang. ${survivor.slaveName}`);
+				if (canSee(survivor)) {
+					r.push(`watches`);
+				} else if (canHear(survivor)) {
+					r.push(`listens`);
+				} else {
+					r.push(`stares blankly`);
+				}
+				r.push(`in horror as the life drains from ${his2} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him2} behaving strangely.</span>`);
+				App.Events.addParagraph(frag, r);
+				survivor.trust -= -20;
+				survivor.behavioralFlaw = "odd";
+				removeSlave(dead);
+				return frag;
+			}
 		}
 
 		function arcade() {