diff --git a/src/events/RECI/futa.js b/src/events/RECI/futa.js
index c709cf3c2fed7da8d415e059806d6fb9c0d42738..25985e613311b5e543ab6f113adb5bd616587cf7 100644
--- a/src/events/RECI/futa.js
+++ b/src/events/RECI/futa.js
@@ -13,6 +13,7 @@ App.Events.RECIFuta = class RECIFuta extends App.Events.BaseEvent {
 				s => s.dick > 0,
 				s => s.balls > 0,
 				s => s.vagina >= 0,
+				canStand,
 				canAchieveErection,
 				canTalk,
 				canHear,
diff --git a/src/events/RECI/milf.js b/src/events/RECI/milf.js
index 2a0a1e8f49f577b8565f8b721448644f24f76eb8..add23616505668ca6285ca4c99714c7b90ec7605 100644
--- a/src/events/RECI/milf.js
+++ b/src/events/RECI/milf.js
@@ -13,6 +13,7 @@ App.Events.RECIMilf = class RECIMilf extends App.Events.BaseEvent {
 				s => s.energy > 60,
 				s => s.bodySwap === 0,
 				s => (canDoAnal(s) || canDoVaginal(s)),
+				canStand,
 				canTalk,
 				canHear,
 				hasAnyArms,
diff --git a/src/events/RECI/orientation.js b/src/events/RECI/orientation.js
index f27ffe5f5bd6e8549abbf2a24b3c0f2b7e4136f5..7c8e701f9d0bf35c110bb4b4f80a79ca99a1c15b 100644
--- a/src/events/RECI/orientation.js
+++ b/src/events/RECI/orientation.js
@@ -14,6 +14,7 @@ App.Events.RECIOrientation = class RECIOrientation extends App.Events.BaseEvent
 				s => s.vagina !== 0,
 				s => (canDoAnal(s) || canDoVaginal(s)),
 				s => s.devotion >= 10,
+				canStand,
 				canTalk,
 				canHear,
 				hasBothLegs,
diff --git a/src/events/RESS/assFitting.js b/src/events/RESS/assFitting.js
index 7b4aa6026867dc589b668f24a3c995353ea000dd..58d170a2c9524893c1b4ae391cbbbc0ed330eaa7 100644
--- a/src/events/RESS/assFitting.js
+++ b/src/events/RESS/assFitting.js
@@ -12,7 +12,7 @@ App.Events.RESSAssFitting = class RESSAssFitting extends App.Events.BaseEvent {
 				s => s.butt > 5,
 				s => ["a bimbo outfit", "a biyelgee costume", "a bunny outfit", "a burkini", "a cheerleader outfit", "a comfortable bodysuit", "a dirndl", "a fallen nuns habit", "a huipil", "a latex catsuit", "a leotard", "a long qipao", "a maternity dress", "a military uniform", "a monokini", "a mounty outfit", "a nice nurse outfit", "a red army uniform", "a scalemail bikini", "a schoolgirl outfit", "a schutzstaffel uniform", "a slutty nurse outfit", "a slutty outfit", "a slutty qipao", "a slutty schutzstaffel uniform", "a succubus outfit", "attractive lingerie for a pregnant woman", "attractive lingerie", "battlearmor", "chains", "clubslut netting", "conservative clothing", "cutoffs and a t-shirt", "kitty lingerie", "lederhosen", "nice business attire", "overalls", "restrictive latex", "striped panties", "slutty business attire", "slutty jewelry", "spats and a tank top", "stretch pants and a crop-top", "uncomfortable straps", "Western clothing"].includes(s.clothes),
 				hasAnyArms,
-				hasAnyLegs,
+				canStand,
 			]
 		];
 	}
diff --git a/src/events/RESS/cockfeederResistance.js b/src/events/RESS/cockfeederResistance.js
index 6cca193e94918a0d57f1890c313f7d0ae8287c58..cf15c66a2b84d8cc27ba176971aee5184727d252 100644
--- a/src/events/RESS/cockfeederResistance.js
+++ b/src/events/RESS/cockfeederResistance.js
@@ -9,8 +9,8 @@ App.Events.RESSCockFeederResistance = class RESSCockFeederResistance extends App
 		return [
 			[ // single event slave
 				s => s.fetish !== "mindbroken",
+				canStand,
 				hasAnyArms,
-				hasAnyLegs,
 				s => s.devotion <= 20 && s.devotion >= -50,
 				s => s.trust >= -20,
 				s => s.fetish !== "cumslut"
diff --git a/src/events/RESS/hotPC.js b/src/events/RESS/hotPC.js
index bd4ae647a5e08852f4aa60d2f46a2dad553734db..a3f6d88267a008431a994c1a3cbd1b41d32dcd3a 100644
--- a/src/events/RESS/hotPC.js
+++ b/src/events/RESS/hotPC.js
@@ -9,9 +9,9 @@ App.Events.RESSHotPC = class RESSHotPC extends App.Events.BaseEvent {
 				s => s.energy > 40,
 				s => s.devotion > 0 && s.devotion <= 50,
 				s => s.trust >= -50,
+				canMove,
 				canSee,
 				hasAnyArms,
-				hasAnyLegs,
 				s =>
 					(s.attrXX >= 50 && V.PC.belly < 5000 && (V.PC.boobs >= 300 || V.PC.title === 0)) ||
 					(s.attrXY >= 50 && V.PC.dick > 0 && V.PC.boobs < 300 && V.PC.belly < 1500) ||
diff --git a/src/events/RESS/lazyEvening.js b/src/events/RESS/lazyEvening.js
index ec6d378d45cc397ec5fcbca87a27b481575c9f12..387bbfe9d44a0e1369ece5dc5c562edef6de02e6 100644
--- a/src/events/RESS/lazyEvening.js
+++ b/src/events/RESS/lazyEvening.js
@@ -7,8 +7,8 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent
 		return [
 			[ // single event slave
 				s => s.fetish !== "mindbroken",
+				canStand,
 				hasAnyArms,
-				hasAnyLegs,
 				s => (s.assignment === Job.FUCKTOY || s.assignment === Job.MASTERSUITE || s.assignment === Job.CONCUBINE),
 				s => s.devotion > 20,
 			]
diff --git a/src/events/RESS/moistPussy.js b/src/events/RESS/moistPussy.js
index 296f40ee3b3755d3182e50a41460f7dbb56348f3..b0ac5aeee8b922a2ce5bad936e5d9a2df037e9ce 100644
--- a/src/events/RESS/moistPussy.js
+++ b/src/events/RESS/moistPussy.js
@@ -31,7 +31,7 @@ App.Events.RESSMoistPussy = class RESSMoistPussy extends App.Events.BaseEvent {
 		t.push("Just as you're about to give");
 		t.push(App.UI.DOM.slaveDescriptionDialog(eventSlave));
 		t.push(`${his} weekly inspection, a minor business matter comes up and diverts your attention.`);
-		t.push(`So, for about ten minutes, ${he} has nothing at all to do other than ${canWalk(eventSlave) ? "stand" : hasAnyLegs(eventSlave) ? "kneel" : "sit"} in front of your desk in your office, ${canSee(eventSlave) ? "watching" : canHear(eventSlave) ? "listening to" : "feeling the subtle vibrations from"} you, ${(V.assistant.personality > 0) ? `${V.assistant.name}'s avatar,` : ""} the other slaves who come and go, and the general lewdness of the arcology, much of which is ${(canSee(eventSlave)) ? "visible" : canHear(eventSlave) ? "audible" : "apparent"} from right here.`);
+		t.push(`So, for about ten minutes, ${he} has nothing at all to do other than ${canStand(eventSlave) ? "stand" : hasAnyLegs(eventSlave) ? "kneel" : "sit"} in front of your desk in your office, ${canSee(eventSlave) ? "watching" : canHear(eventSlave) ? "listening to" : "feeling the subtle vibrations from"} you, ${(V.assistant.personality > 0) ? `${V.assistant.name}'s avatar,` : ""} the other slaves who come and go, and the general lewdness of the arcology, much of which is ${(canSee(eventSlave)) ? "visible" : canHear(eventSlave) ? "audible" : "apparent"} from right here.`);
 		if ((eventSlave.attrXY > 50) && (V.PC.boobs < 300)) {
 			t.push(`${He} finds your strong body attractive, and ${his} gaze rests most frequently ${canSee(eventSlave) ? "on" : "towards"} you.`);
 		} else if ((eventSlave.attrXX > 50) && (V.PC.boobs >= 650)) {
@@ -55,7 +55,7 @@ App.Events.RESSMoistPussy = class RESSMoistPussy extends App.Events.BaseEvent {
 		App.Events.addParagraph(node, t);
 
 		t = [];
-		t.push(`Your slaves are all in the very best of vaginal health, so the scent of ${his} female arousal is not strong. But ${his} cunt produces such copious natural lubricant that with nothing to do but ${canWalk(eventSlave) ? "stand" : "rest"} there, ${his} ${eventSlave.counter.births > 0 ? "motherly" : eventSlave.weight > 30 ? "thick" : eventSlave.muscles > 30 ? "strong" : "feminine"} inner thighs are soon slick with a sheen of healthy pussyjuice. You notice a droplet of the stuff running down ${his} warm ${eventSlave.skin} skin.`);
+		t.push(`Your slaves are all in the very best of vaginal health, so the scent of ${his} female arousal is not strong. But ${his} cunt produces such copious natural lubricant that with nothing to do but ${canStand(eventSlave) ? "stand" : "rest"} there, ${his} ${eventSlave.counter.births > 0 ? "motherly" : eventSlave.weight > 30 ? "thick" : eventSlave.muscles > 30 ? "strong" : "feminine"} inner thighs are soon slick with a sheen of healthy pussyjuice. You notice a droplet of the stuff running down ${his} warm ${eventSlave.skin} skin.`);
 		if (canAchieveErection(eventSlave) && eventSlave.chastityPenis !== 1) {
 			t.push(`${His} ${eventSlave.dick > 3 ? "stiff prick" : "hard little dick"} is sticking up from atop ${his} pussy, leaving it nice and visible.`);
 		} else if (eventSlave.dick > 0) {
diff --git a/src/events/RESS/muscles.js b/src/events/RESS/muscles.js
index 5e0a0ea033f65a6283a00f323208f7969632e78d..926e5b6226706496ff2a1934f5c459ca3eb4a56a 100644
--- a/src/events/RESS/muscles.js
+++ b/src/events/RESS/muscles.js
@@ -7,8 +7,8 @@ App.Events.RESSMuscles = class RESSMuscles extends App.Events.BaseEvent {
 		return [
 			[ // single event slave
 				s => s.fetish !== "mindbroken",
+				canMove,
 				hasAnyArms,
-				hasAnyLegs,
 				s => s.muscles > 30,
 				s => s.weight <= 10
 			]
diff --git a/src/events/RESS/retchingCum.js b/src/events/RESS/retchingCum.js
index 05c48157f205fa4be9eb31488645922bc6458b1d..a8e6ebdbf19eaea598aad498b577dbeddb13b454 100644
--- a/src/events/RESS/retchingCum.js
+++ b/src/events/RESS/retchingCum.js
@@ -8,8 +8,8 @@ App.Events.RESSRetchingCum = class RESSRetchingCum extends App.Events.BaseEvent
 			[
 				s => s.fetish !== "mindbroken",
 				s => s.assignment !== "work as a servant",
+				canStand,
 				hasAnyArms,
-				hasAnyLegs,
 				s => s.dietCum > 0,
 				s => s.devotion <= 20,
 				s => (s.fetish !== "cumslut" && s.fetish !== "masochist" && s.fetishStrength < 60) || s.fetishKnown === 0,
diff --git a/src/events/RESS/suppositoryResistance.js b/src/events/RESS/suppositoryResistance.js
index 38dc77532d70c8a4d334f640ce83abd21cd6af52..dca8214a470ced67a70e1dac166c5a0334610805 100644
--- a/src/events/RESS/suppositoryResistance.js
+++ b/src/events/RESS/suppositoryResistance.js
@@ -9,8 +9,8 @@ App.Events.RESSSuppositoryResistance = class RESSSuppositoryResistance extends A
 		return [
 			[ // single event slave
 				s => s.fetish !== "mindbroken",
+				canStand,
 				hasAnyArms,
-				hasAnyLegs,
 				s => s.drugs !== "none",
 				s => s.devotion <= 20 && s.devotion >= -50,
 				s => s.trust >= -20,
diff --git a/src/events/RESS/waistlineWoes.js b/src/events/RESS/waistlineWoes.js
index 2dfa25fe0a388743e871623384b9a86af8803025..f800601eea2c157ae481eea587228f4ef099962e 100644
--- a/src/events/RESS/waistlineWoes.js
+++ b/src/events/RESS/waistlineWoes.js
@@ -8,6 +8,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 			[ // single event slave
 				s => s.fetish !== "mindbroken",
 				canHear,
+				canWalk,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.devotion > 20 && s.devotion <= 50,
diff --git a/src/events/RETS/reSiblingTussle.js b/src/events/RETS/reSiblingTussle.js
index fbf9efe1f16f0cd6ed2e87ed3f4a12ebcc26ab5b..19967d2e337f3367b2b46baa5bf64b75596d28a4 100644
--- a/src/events/RETS/reSiblingTussle.js
+++ b/src/events/RETS/reSiblingTussle.js
@@ -9,6 +9,7 @@ App.Events.RETSSiblingTussle = class RETSSiblingTussle extends App.Events.BaseEv
 		return [
 			[ // event slave
 				s => s.fetish !== "mindbroken",
+				canStand,
 				hasAnyArms,
 				hasBothLegs,
 				s => s.actualAge < 18,
@@ -16,6 +17,7 @@ App.Events.RETSSiblingTussle = class RETSSiblingTussle extends App.Events.BaseEv
 			],
 			[ // and her sibling
 				s => s.fetish !== "mindbroken",
+				canStand,
 				hasAnyArms,
 				hasBothLegs,
 				isSlaveAvailable,
diff --git a/src/js/statsChecker/statsChecker.js b/src/js/statsChecker/statsChecker.js
index c2ffc260f927d5c01e57b80fa4673a54c2a126d8..aa7a2c1856923c1873340a141a262dcc56d91945 100644
--- a/src/js/statsChecker/statsChecker.js
+++ b/src/js/statsChecker/statsChecker.js
@@ -800,7 +800,7 @@ globalThis.canHold = function(slave) {
 	return hasAnyArms(slave);
 };
 
-/**
+/** If a slave can walk, she can move and stand.
  * @param {App.Entity.SlaveState} slave
  * @returns {boolean}
  */
@@ -827,14 +827,16 @@ globalThis.canWalk = function(slave) {
 	return true;
 };
 
-/** can this slave stay upright for any period of time?
+/** If a slave can stand, she can move, but not necessarily walk.
  * @param {App.Entity.SlaveState} slave
  * @returns {boolean}
  */
 globalThis.canStand = function(slave) {
 	if (!slave) {
 		return null;
-	} else if (!hasBothLegs(slave)) {
+	} else if (!canMove(eventSlave)) {
+		return false;
+	} else if (!hasAnyLegs(slave)) {
 		return false;
 	} else if (slave.heels === 1 && !setup.highHeels.includes(slave.shoes)) {
 		return false;