diff --git a/src/endWeek/player/prDrugs.js b/src/endWeek/player/prDrugs.js
index 5bf5fa2b9f2601ced291ac40c0ad47c945f52fb5..687b68217cb33f6fc08e52bfffe6cd18a5074f9f 100644
--- a/src/endWeek/player/prDrugs.js
+++ b/src/endWeek/player/prDrugs.js
@@ -1630,6 +1630,10 @@ App.EndWeek.Player.drugs = function(PC = V.PC) {
 					PC.weight += 10;
 				}
 				PC.butt = Math.clamp(PC.butt, 0, 20);
+				// failsafe for rounding errors
+				if (PC.butt < PC.buttImplant) {
+					PC.butt = PC.buttImplant;
+				}
 				break;
 			case ConsumerDrug.ENHANCE_STAMINA:
 				r.push(`You take a couple stamina enhancing pills each morning to have some extra energy for more sex during the day.`);
diff --git a/src/endWeek/saDrugs.js b/src/endWeek/saDrugs.js
index 15221c76bd143db8097c44af5f8183e9b504ea06..0c500e6e0644f6083a97743baf816035f48f6b0d 100644
--- a/src/endWeek/saDrugs.js
+++ b/src/endWeek/saDrugs.js
@@ -1555,6 +1555,10 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 					slave.weight += 10;
 				}
 				slave.butt = Math.clamp(slave.butt, 0, 20);
+				// failsafe for rounding errors
+				if (slave.butt < slave.buttImplant) {
+					slave.butt = slave.buttImplant;
+				}
 				break;
 			case Drug.SAGBGONE:
 				if (slave.assignment === Job.CONCUBINE) {