diff --git a/src/facilities/armory/armoryFramework.js b/src/facilities/armory/armoryFramework.js
index 9e8adb220d52853e8477d91232ba6396217dc7d1..a1ed3c9055918920b2043292a3ca990b5942e940 100644
--- a/src/facilities/armory/armoryFramework.js
+++ b/src/facilities/armory/armoryFramework.js
@@ -9,7 +9,7 @@ App.Data.Facilities.armory = {
 		assignment: Job.BODYGUARD,
 		careers: App.Data.Careers.Leader.bodyguard,
 		skill: "bodyguard",
-		publicSexUse: true,
+		publicSexUse: false,
 		fuckdollAccepted: false,
 		broodmotherAccepted: false,
 		shouldWalk: true,
@@ -23,4 +23,21 @@ App.Data.Facilities.armory = {
 	decorated: false
 };
 
-App.Entity.facilities.armory = new App.Entity.Facilities.Facility(App.Data.Facilities.armory);
+App.Entity.Facilities.BodyguardJob = class extends App.Entity.Facilities.ManagingJob {
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @returns {string[]}
+	 */
+	checkRequirements(slave) {
+		let r = super.checkRequirements(slave);
+		if (slave.breedingMark === 1 && V.propOutcome === 1 && V.eugenicsFullControl !== 1 && V.arcologies[0].FSRestart !== "unset") {
+			r.push(`${slave.slaveName} may not participate in combat.`);
+		}
+		if (slave.indentureRestrictions > 1) {
+			r.push(`${slave.slaveName}'s indenture forbids fighting.`);
+		}
+		return r;
+	}
+};
+
+App.Entity.facilities.armory = new App.Entity.Facilities.Facility(App.Data.Facilities.armory, {}, new App.Entity.Facilities.BodyguardJob());
diff --git a/src/pregmod/eliteBreedingExam.js b/src/pregmod/eliteBreedingExam.js
index ae0ade2356a5f92e5f714c00997f51e5555fa561..88d6900f3df4762eb58dddb155491f609e671d2d 100644
--- a/src/pregmod/eliteBreedingExam.js
+++ b/src/pregmod/eliteBreedingExam.js
@@ -243,7 +243,22 @@ globalThis.eliteBreedingExam = function(slave = null) {
 			r.push(`They are not permitted for public use or anything that may harm their growing child. The child within them is considered a member of the Elite class and as such, any harm that comes to them will result in severe penalties to the breeder's owner. Development of the child will be closely monitored; should the fetus be identified as not of the owner's blood (or any other member of the Elite class), said owner shall face severe fines.`);
 			slave.breedingMark = 1;
 			slave.pregControl = "none";
-			removeJob(slave, slave.assignment);
+			const job = App.Utils.jobForAssignment(slave.assignment);
+			const consequences = [];
+			if (slave.assignment === Job.BODYGUARD || (job && job.desc.publicSexUse)) {
+				removeJob(slave, slave.assignment);
+				consequences.push(`reassigned to <span class="green">rest</span>`);
+			}
+			if (V.pit && V.pit.fighterIDs.includes(slave.ID)) {
+				removeJob(slave, Job.PIT);
+				consequences.push(`<span class="yellow">removed</span> from ${V.pit.name}'s fighting roster`);
+			}
+			if (consequences.length > 0) {
+				App.Events.addNode(frag, r, "div");
+				r = [];
+				const {He} = getPronouns(slave);
+				r.push(`${He} has been automatically ${toSentence(consequences)}.`);
+			}
 		}
 		cashX(-cost, "capEx");
 	}