diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index 30533eaa274ab0e365cad40550cc3a5b6fec9d5a..5da7e14dd04dde848ff202fac43fd95856430684 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -930,7 +930,7 @@ App.SlaveAssignment.serveThePublic = (function() {
 				r += ` As a proper Japanese ${girl}, ${he} is considered extremely desirable.`;
 			}
 		} else if (arcology.FSChineseRevivalist !== "unset") {
-			if (slave.nationality === "Chinese" || slave.nationality === "Chinese Revivalist") {
+			if (slave.nationality === "Chinese" || slave.nationality === "Ancient Chinese Revivalist") {
 				r += ` As a proper Chinese ${girl}, ${he} is considered extremely desirable.`;
 			}
 		}
diff --git a/src/endWeek/saWhore.js b/src/endWeek/saWhore.js
index ff56017e1924824b8906ada57ac7af6ad9ff3fb4..50ce837c429289f084b3a53a3684f589015fc253 100644
--- a/src/endWeek/saWhore.js
+++ b/src/endWeek/saWhore.js
@@ -1013,7 +1013,7 @@ App.SlaveAssignment.whore = (function() {
 				r += ` As a proper Japanese ${girl}, ${he} is considered extremely desirable.`;
 			}
 		} else if (arcology.FSChineseRevivalist !== "unset") {
-			if (slave.nationality === "Chinese" || slave.nationality === "Chinese Revivalist") {
+			if (slave.nationality === "Chinese" || slave.nationality === "Ancient Chinese Revivalist") {
 				r += ` As a proper Chinese ${girl}, ${he} is considered extremely desirable.`;
 			}
 		}
diff --git a/src/events/PE/peLonelyBodyguard.js b/src/events/PE/peLonelyBodyguard.js
index e147ed8ec3a16e94db555e64393a5e7c2fb2fa3b..f5d371dcdfdcb289b60e833d9c23f29872b39a88 100644
--- a/src/events/PE/peLonelyBodyguard.js
+++ b/src/events/PE/peLonelyBodyguard.js
@@ -12,7 +12,8 @@ App.Events.PELonelyBodyguard = class PELonelyBodyguard extends App.Events.BaseEv
 		return [[
 			s => s.ID !== V.BodyguardID,
 			s => s.relationship === 0,
-			s => s.devotion >= -20
+			s => s.devotion >= -20,
+			s => V.seeIncest === 1 || !areRelated(s, S.Bodyguard)
 		]];
 	}
 
diff --git a/src/interaction/siRecords.js b/src/interaction/siRecords.js
index dc97ae8f5eafb6df7f404a33f0b5a5aed7472632..15df9d3558bf352c04fc5329c1fa6b3fe06a6f6e 100644
--- a/src/interaction/siRecords.js
+++ b/src/interaction/siRecords.js
@@ -251,20 +251,22 @@ App.UI.SlaveInteract.records = function(slave, refresh) {
 		r.push("You cannot sell your last slave");
 	} else if (slave.origin === "You bought $him from a body dump, completely broken." && (V.week - slave.weekAcquired <= 8)) {
 		r.push(`A discarded slave must be kept for at least two months to ensure health before being sold.`);
-	} else if (slave.accent > 3) {
-		r.push(`${His} lack of language and basic life skills is a red sign to most slave appraisers. ${He} must not act like a child to be sold without raising suspicion.`);
 	} else {
-		linkArray.push(
-			App.UI.DOM.link(
-				`Sell ${him}`,
-				() => {
-					cashX(-500, "personalBusiness", slave);
-				},
-				[],
-				"Sell Slave",
-				`Listing ${him} for sale will cost ${cashFormat(500)}`
-			)
-		);
+		if (slave.accent < 4) {
+			linkArray.push(
+				App.UI.DOM.link(
+					`Sell ${him}`,
+					() => {
+						cashX(-500, "personalBusiness", slave);
+					},
+					[],
+					"Sell Slave",
+					`Listing ${him} for sale will cost ${cashFormat(500)}`
+				)
+			);
+		} else {
+			r.push(`${His} lack of language and basic life skills is a red sign to most slave appraisers. ${He} must not act like a child to be sold without raising suspicion.`);
+		}
 		if ((V.seeAge !== 0) && (slave.indenture < 1)) {
 			linkArray.push(
 				App.UI.DOM.passageLink(
diff --git a/src/js/releaseRules.js b/src/js/releaseRules.js
index 5f4e1ee4f16df3711aa78e7f3a608870f3dd596c..0ab23091ca913840ac003803512602a45c3f3d55 100644
--- a/src/js/releaseRules.js
+++ b/src/js/releaseRules.js
@@ -5,6 +5,11 @@
  * @returns {boolean}
  */
 App.Utils.sexAllowed = function sexAllowed(slaveA, slaveB) {
+	/* absolutely no sex of any kind with relatives, if incest is prohibited by game rules */
+	const related = areRelated(slaveA, slaveB);
+	if (V.seeIncest === 0 && related) {
+		return false;
+	}
 	/* check most specific to least specific - master, partner, leader, family, slaves */
 	if (slaveA === V.PC) {
 		return slaveB.rules.release.master === 1;
@@ -16,8 +21,8 @@ App.Utils.sexAllowed = function sexAllowed(slaveA, slaveB) {
 		return slaveA.rules.release.facilityLeader === 1;
 	} else if (App.Utils.isDevelopmentFacilityLeader(slaveB, slaveA)) {
 		return slaveB.rules.release.facilityLeader === 1;
-	} else if (areRelated(slaveA, slaveB)) {
-		return V.seeIncest && (slaveA.rules.release.family === 1) && (slaveB.rules.release.family === 1);
+	} else if (related) {
+		return (slaveA.rules.release.family === 1) && (slaveB.rules.release.family === 1);
 	} else {
 		return (slaveA.rules.release.slaves === 1) && (slaveB.rules.release.slaves === 1);
 	}