diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index e6d115e243d23c14c8cf5336dcf9213c37098901..17b3cac59ef5794200960749fc634a9985cbb304 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -1477,21 +1477,23 @@ window.generateRandomEventPoolStandard = function(eventSlave) {
 			}
 		}
 
-		if (eventSlave.vagina === 0) {
-			if (eventSlave.devotion > 50) {
-				if (eventSlave.trust > 20) {
-					if (eventSlave.rules.speech !== "restrictive") {
-						State.variables.RESSevent.push("devoted virgin");
+		if (canWalk(slave) && hasAnyArms(slave)) {
+			if (eventSlave.vagina === 0) {
+				if (eventSlave.devotion > 50) {
+					if (eventSlave.trust > 20) {
+						if (eventSlave.rules.speech !== "restrictive") {
+							State.variables.RESSevent.push("devoted virgin");
+						}
 					}
 				}
 			}
-		}
 
-		if (eventSlave.anus === 0) {
-			if (eventSlave.devotion > 50) {
-				if (eventSlave.trust > 20) {
-					if (eventSlave.rules.speech !== "restrictive") {
-						State.variables.RESSevent.push("devoted anal virgin");
+			if (eventSlave.anus === 0) {
+				if (eventSlave.devotion > 50) {
+					if (eventSlave.trust > 20) {
+						if (eventSlave.rules.speech !== "restrictive") {
+							State.variables.RESSevent.push("devoted anal virgin");
+						}
 					}
 				}
 			}
@@ -2707,21 +2709,23 @@ window.generateRandomEventPoolServant = function(eventSlave) {
 			}
 		}
 
-		if (eventSlave.vagina === 0) {
-			if (eventSlave.devotion > 50) {
-				if (eventSlave.trust > 20) {
-					if (eventSlave.rules.speech !== "restrictive") {
-						State.variables.RESSevent.push("devoted virgin");
+		if (canWalk(slave) && hasAnyArms(slave)) {
+			if (eventSlave.vagina === 0) {
+				if (eventSlave.devotion > 50) {
+					if (eventSlave.trust > 20) {
+						if (eventSlave.rules.speech !== "restrictive") {
+							State.variables.RESSevent.push("devoted virgin");
+						}
 					}
 				}
 			}
-		}
 
-		if (eventSlave.anus === 0) {
-			if (eventSlave.devotion > 50) {
-				if (eventSlave.trust > 20) {
-					if (eventSlave.rules.speech !== "restrictive") {
-						State.variables.RESSevent.push("devoted anal virgin");
+			if (eventSlave.anus === 0) {
+				if (eventSlave.devotion > 50) {
+					if (eventSlave.trust > 20) {
+						if (eventSlave.rules.speech !== "restrictive") {
+							State.variables.RESSevent.push("devoted anal virgin");
+						}
 					}
 				}
 			}