diff --git a/src/endWeek/saTakeClasses.js b/src/endWeek/saTakeClasses.js
index 5f68150b36bad0292dc20a5af091883885171679..5acfdff2aa255bbdb15f3a3e3cbbd37fcb44b161 100644
--- a/src/endWeek/saTakeClasses.js
+++ b/src/endWeek/saTakeClasses.js
@@ -24,8 +24,8 @@ App.SlaveAssignment.takeClasses = (function() {
 			he, him, his, hers, himself, girl, He, His, loli
 		} = getPronouns(slave));
 
+		jobPreface(slave);
 		if (slave.fetish !== "mindbroken") {
-			jobPreface(slave);
 			learningDisability(slave);
 			jobHealthImpact(slave);
 			learningProgress(slave);
@@ -40,8 +40,8 @@ App.SlaveAssignment.takeClasses = (function() {
 			if (tutorForSlave(slave) != null) {
 				tutorLessons(slave);
 			}
+			graduation(slave);
 		}
-		graduation(slave);
 		return r;
 	}
 
diff --git a/src/endWeek/schoolroomReport.js b/src/endWeek/schoolroomReport.js
index 0197ef513015cb5511b55f086c4297ea69343835..d60e965e297803d0ab9a0c7115e52b03eb925f01 100644
--- a/src/endWeek/schoolroomReport.js
+++ b/src/endWeek/schoolroomReport.js
@@ -233,7 +233,13 @@ App.EndWeek.schoolroomReport = function() {
 			if (slave.choosesOwnAssignment === 2) {
 				$(slaveEntry).append(App.SlaveAssignment.choosesOwnJob(slave));
 			} else {
-				$(slaveEntry).append(`is studying in ${V.schoolroomName}.`);
+				let leaderTraining = '';
+				for (const role of Object.keys(V.slaveTutor)) {
+					if (V.slaveTutor[role].contains(slave.ID)) {
+						leaderTraining = ` on being a ${role}`; break;
+					}
+				}
+				$(slaveEntry).append(`is studying in ${V.schoolroomName}${leaderTraining}.`);
 			}
 			const studentContent = App.UI.DOM.appendNewElement("div", slaveEntry, '', "indent");
 			$(studentContent).append(`${He} ${App.SlaveAssignment.takeClasses(slave)}`);
diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js
index 1a1deadb415dd22e46f29dbd39f40e09f30f83c5..378e04ff952af7cf808e9090b97b19f835613654 100644
--- a/src/js/slaveListing.js
+++ b/src/js/slaveListing.js
@@ -171,6 +171,13 @@ App.UI.SlaveList.render = function() {
 			assignment.innerText = `choose ${getPronouns(slave).possessive} own job`;
 		} else {
 			assignment.innerText = slave.assignment;
+			if (slave.assignment === Job.CLASSES) {
+				for (const role of Object.keys(V.slaveTutor)) {
+					if (V.slaveTutor[role].contains(slave.ID)) {
+						assignment.innerText += ` on being a ${role}`; break;
+					}
+				}
+			}
 			if (slave.sentence > 0) {
 				assignment.innerText += ` ${slave.sentence} weeks`;
 			}
@@ -242,6 +249,11 @@ App.UI.SlaveList.render = function() {
 				}
 			}
 		} else if (slave.assignment === Job.SCHOOL) {
+			for (const role of Object.keys(V.slaveTutor)) {
+				if (V.slaveTutor[role].contains(slave.ID)) {
+					assignment.innerText += ` about being a ${role}`; break;
+				}
+			}
 			let lessons = [];
 			let i;
 			if ((V.schoolroomRemodelBimbo === 1 && slave.intelligenceImplant > -15) || (V.schoolroomRemodelBimbo === 0 && slave.intelligenceImplant < 30)) {
diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js
index 0690e3f524b37f3453325f81935f471b3cbfea28..194210cc9baf07437d2c5f4cb55696d78e37b146 100644
--- a/src/js/utilsFC.js
+++ b/src/js/utilsFC.js
@@ -2342,13 +2342,13 @@ globalThis.slaveSkillIncrease = function(targetSkill, slave, skillIncrease = 1)
 				case 'entertainment':
 					r += ` flirting, dancing, or stripping.`; break;
 			}
-			if (isleadershipRole()) {
-				V.tutorGraduate.push(slave.ID);
-				V.slaveTutor[capFirstChar(targetSkill)].delete(slave.ID);
-			}
 		}
 	}
-
+	
+	if (isleadershipRole() && slave.skill[targetSkill] + skillIncrease >= 100) {
+		V.tutorGraduate.push(slave.ID);
+		V.slaveTutor[capFirstChar(targetSkill)].delete(slave.ID);
+	}
 	slave.skill[targetSkill] += skillIncrease;
 	return r;
 };