diff --git a/src/events/scheduled/murderAttempt.js b/src/events/scheduled/murderAttempt.js
index 01ee3609352535b8a50baf61a53c49eee4bdfa8c..c77d789572da294e86f69291162d97d36274a4c3 100644
--- a/src/events/scheduled/murderAttempt.js
+++ b/src/events/scheduled/murderAttempt.js
@@ -458,14 +458,22 @@ App.Events.MurderAttemptFollowup = class MurderAttemptTradeFollowup extends App.
 			let slave;
 			let relation;
 			if (type === "school") {
+				/** @type {FC.Zeroable<string>} */
+				let race = 0;
+				// Normally schoolmate race would be based on the shared nationality, if that is not possible because PC
+				// is "Stateless" let them share race as well. But not if player chose "catgirl" as race since that
+				// shouldn't be available outside the mod.
+				if (V.PC.nationality === "Stateless"
+					&& V.PC.race !== "catgirl") {
+					race = V.PC.race;
+				}
 				slave = GenerateNewSlave(null, {
 					minAge: V.PC.actualAge - 1,
 					maxAge: V.PC.actualAge + 1,
 					mature: 0,
 					ageOverridesPedoMode: 1,
 					nationality: V.PC.nationality,
-					race: V.PC.race // Same school does not imply same race, but with PC nationality defaulting to
-									// Stateless it's better than nothing.
+					race: race
 				});
 				slave.origin = "You were in the same class and seeing $him as your slave fills you with endless satisfaction.";
 				slave.behavioralFlaw = "arrogant";