diff --git a/src/js/utilJS.js b/src/js/utilJS.js
index 6c26d1db905c502b7563365949b488bd8c122082..21bf38bdb6474c8c1edada40f8f0f19a5f90a604 100644
--- a/src/js/utilJS.js
+++ b/src/js/utilJS.js
@@ -3252,7 +3252,8 @@ window.randomRapeRivalryTarget = function(slave, predicate) {
 
 	function canRape(rapist, rapee) {
 		const opportunity = (assignmentVisible(rapist) && assignmentVisible(rapee)) || rapist.assignment === rapee.assignment;
-		const desire = !(rapist.relationship >= 3 && rapist.relationshipTarget === rapee.id) && (V.seeIncest === 1 || !areRelated(rapist, rapee));
+		const taboo = V.seeIncest === 0 && (V.familyTesting === 1 ? areRelated(rapist, rapee) : haveRelationP(rapist, rapee));
+		const desire = !(rapist.relationship >= 3 && rapist.relationshipTarget === rapee.id) && !taboo;
 		const permission = willIgnoreRules || App.Utils.sexAllowed(rapist, rapee);
 		return opportunity && desire && permission;
 	}