diff --git a/src/endWeek/reports/cellblockReport.js b/src/endWeek/reports/cellblockReport.js
index b5148073f9d34ae950f32210667defea8748b5f2..8e05369dcb767fa36245f2372c09cc31097fb17c 100644
--- a/src/endWeek/reports/cellblockReport.js
+++ b/src/endWeek/reports/cellblockReport.js
@@ -306,16 +306,21 @@ App.EndWeek.cellblockReport = function() {
 
 			confinedResults = App.SlaveAssignment.stayConfined(slave);
 			App.Events.addNode(slaveEntry, [He, confinedResults.text], "div", "indent");
+			if (confinedResults.broken) {
+				brokenSlaves++;
+				continue; // slave has been reassigned; remaining report will run at her new assignment
+			}
 			slaveEntry.append(App.SlaveAssignment.standardSlaveReport(slave, false));
 		} else {
 			// discard return values silently
 			App.SlaveAssignment.choosesOwnJob(slave);
 			confinedResults = App.SlaveAssignment.stayConfined(slave);
+			if (confinedResults.broken) {
+				brokenSlaves++;
+				continue; // slave has been reassigned; remaining report will run at her new assignment
+			}
 			App.SlaveAssignment.standardSlaveReport(slave, true);
 		}
-		if (confinedResults.broken) {
-			brokenSlaves++;
-		}
 	}
 	if (softenedQuirks || brokenSlaves) {
 		r = [];