diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index 10eb4a744aff43b132d4de8c75605bf0bc811765..684b0d5a04fbc6ed1e68e525bbbd1f7a35e4db39 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -624,6 +624,10 @@ globalThis.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		}
 		slave.lactation = Math.clamp(+slave.lactation, 0, 2) || 0;
 		slave.boobsMilk = Math.max(+slave.boobsMilk, 0) || 0;
+		if (slave.boobsMilk > 0 && slave.boobs - slave.boobsMilk - slave.boobsImplant < 0) {
+			// should never get here, but if it does, just immediately abort!
+			slave.boobsMilk = 0;
+		}
 		slave.lactationAdaptation = Math.clamp(+slave.lactationAdaptation, 0, 100) || 0;
 	}
 
diff --git a/src/endWeek/saAgent.js b/src/endWeek/saAgent.js
index 9e18932913db998244005d459a2f4ddfc856423a..7e176c5c07436bcf7058eae1e3cdb0c331d30ead 100644
--- a/src/endWeek/saAgent.js
+++ b/src/endWeek/saAgent.js
@@ -556,9 +556,6 @@ App.SlaveAssignment.agent = function(slave) {
 				// handled in nextWeek?
 				// slave.boobsMilk = Math.round(10 * slave.lactationAdaptation);
 				// slave.boobs += slave.boobsMilk;
-				slave.lactationDuration--;
-			} else {
-				slave.lactationDuration--;
 			}
 		} else {
 			slave.lactationDuration = 2;