diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js
index 9566b01f61a7b23d2869694cfeed7a72ddcc295f..727b5291cec4a3536e11e0f8360828f0b4408212 100644
--- a/src/js/rulesAssistant.js
+++ b/src/js/rulesAssistant.js
@@ -297,6 +297,8 @@ window.emptyDefaultRule = function emptyDefaultRule() {
 			removalAssignment: "rest",
 			surgery_eyes: "no default setting",
 			surgery_hears: "no default setting",
+			surgery_smells: "no default setting",
+			surgery_tastes: "no default setting",
 			surgery_lactation: "no default setting",
 			surgery_prostate: "no default setting",
 			surgery_cosmetic: "no default setting",
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index 56c6c9526f84e7fdf489add8944026b07aa92551..1a34fdff06e06ed124746ba5ab2b4a5484b726e0 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -1055,6 +1055,8 @@ window.rulesAssistantOptions = (function() {
 			this.appendChild(new AutosurgerySwitch());
 			this.appendChild(new VisionSurgeryList());
 			this.appendChild(new HearingSurgeryList());
+			this.appendChild(new SmellSurgeryList());
+			this.appendChild(new TasteSurgeryList());
 			this.appendChild(new LactationSurgeryList());
 			if (V.seeDicks || V.makeDicks) {
 				this.appendChild(new SemenSurgeryList());
@@ -3297,6 +3299,32 @@ window.rulesAssistantOptions = (function() {
 			this.onchange = (value) => current_rule.set.surgery_hears = value;
 		}
 	}
+	
+	class SmellSurgeryList extends List {
+		constructor() {
+			const items = [
+				["no default setting"],
+				["fixed", 0],
+				["disabled", -1],
+			];
+			super("Olfactory correction", items);
+			this.setValue(current_rule.set.surgery_smells);
+			this.onchange = (value) => current_rule.set.surgery_smells = value;
+		}
+	}
+	
+	class TasteSurgeryList extends List {
+		constructor() {
+			const items = [
+				["no default setting"],
+				["fixed", 0],
+				["disabled", -1],
+			];
+			super("Gustatory correction", items);
+			this.setValue(current_rule.set.surgery_tastes);
+			this.onchange = (value) => current_rule.set.surgery_tastes = value;
+		}
+	}
 
 	class LactationSurgeryList extends List {
 		constructor() {
diff --git a/src/js/rulesAutosurgery.js b/src/js/rulesAutosurgery.js
index 5ea93996ffc11ed0593907c1e12353dea69817d1..309ea9c71009f801f24c4b35e48bb569fe47fc08 100644
--- a/src/js/rulesAutosurgery.js
+++ b/src/js/rulesAutosurgery.js
@@ -142,7 +142,7 @@ window.rulesAutosurgery = (function() {
 			if (V.PC.medicine >= 100) slave.health -= 5;
 			else slave.health -= 10;
 
-		} else if ((slave.hears === -1) && (thisSurgery.surgery_hears === 1)) {
+		} else if ((slave.hears === -1) && (thisSurgery.surgery_hears === 0)) {
 			surgeries.push("surgery to correct her hearing");
 			slave.hears = 0;
 			cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave);
@@ -155,6 +155,34 @@ window.rulesAutosurgery = (function() {
 			cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave);
 			if (V.PC.medicine >= 100) slave.health -= 5;
 			else slave.health -= 10;
+			
+		} else if ((slave.hears === -1) && (thisSurgery.surgery_smells === 0)) {
+			surgeries.push("surgery to correct her sense of smell");
+			slave.smells = 0;
+			cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave);
+			if (V.PC.medicine >= 100) slave.health -= 5;
+			else slave.health -= 10;
+
+		} else if ((slave.hears === 0) && (thisSurgery.surgery_smells === -1)) {
+			surgeries.push("surgery to muffle her sense of smell");
+			slave.smells = -1;
+			cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave);
+			if (V.PC.medicine >= 100) slave.health -= 5;
+			else slave.health -= 10;
+
+		} else if ((slave.hears === -1) && (thisSurgery.surgery_tastes === 0)) {
+			surgeries.push("surgery to correct her sense of taste");
+			slave.tastes = 0;
+			cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave);
+			if (V.PC.medicine >= 100) slave.health -= 5;
+			else slave.health -= 10;
+
+		} else if ((slave.hears === 0) && (thisSurgery.surgery_tastes === -1)) {
+			surgeries.push("surgery to muffle her sense of taste");
+			slave.tastes = -1;
+			cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave);
+			if (V.PC.medicine >= 100) slave.health -= 5;
+			else slave.health -= 10;
 
 		} else if ((slave.lactation === 2) && (thisSurgery.surgery_lactation === 0)) {
 			surgeries.push("surgery to remove her lactation implants");
diff --git a/src/pregmod/widgets/bodySwapReaction.tw b/src/pregmod/widgets/bodySwapReaction.tw
index c5342397e8c648fced3d50ee461f345108c29155..63599409aaa1e309aec94236437839e6ddc40334 100644
--- a/src/pregmod/widgets/bodySwapReaction.tw
+++ b/src/pregmod/widgets/bodySwapReaction.tw
@@ -196,7 +196,7 @@ Now you only have to wait for $him to wake up.
 			nothing particularly noteworthy.
 		<</if>>
 
-		<<if $args[0].sexualFlaw == "cum addiction" && $args[0].lips > $args[1].lips+10>> /* (bigger lip+oral fixation) */
+		<<if $args[0].sexualFlaw == "cum addict" && $args[0].lips > $args[1].lips+10>> /* (bigger lip+oral fixation) */
 			$He slowly runs $his fingertips over the @@.lime;plush pillows.@@ A blush blossoms over $his face and the beeping of $his heart monitor speeds up slightly. You know that $he'll put them to good use.
 			<<if $args[0].devotion <= 20>>
 				$He pauses, and begins to @@.hotpink;hesitantly smile@@ as $he feels the softness of $his lovely new lips.
@@ -204,7 +204,7 @@ Now you only have to wait for $him to wake up.
 			<</if>>
 		<<elseif $args[0].lips > $args[1].lips+10>>
 			$His fingers brush $his lips and $he pauses for a moment,<<if $args[0].fetish == "mindbroken">> as if<</if>> noticing that @@.lime;they are larger now@@ than they once were.
-		<<elseif $args[0].sexualFlaw == "cum addiction" && $args[0].lips < $args[1].lips-10>> /* (smaller lip+oral fixation) */
+		<<elseif $args[0].sexualFlaw == "cum addict" && $args[0].lips < $args[1].lips-10>> /* (smaller lip+oral fixation) */
 			<<if $args[0].devotion > 20>>
 				$His fingers pause and almost flinch away once they reach $his lips. A second later, they return to confirm $his fear. $His pride and joy are @@.orange;gone.@@ $He lets out a sniff and @@.mediumorchid;tears begin to roll down $his cheeks.@@
 				<<set $args[0].devotion -= 10>>
@@ -229,6 +229,24 @@ Now you only have to wait for $him to wake up.
 		<<elseif $args[0].teeth != "removable" && $args[0].tonguePiercing > 0 && $args[1].tonguePiercing == 0>> /* (if tongue pierced+has teeth) */
 			You can vaguely hear $him rattling $his tongue piercing against $his teeth.
 		<</if>>
+		<<if ($args[0].tastes != 0 && $args[1].tastes == 0) || ($args[0].tastes == 0 && $args[1].tastes != 0)>>
+			$He can't sense the changes to $his taste buds, so $he's likely to be
+			<<if $args[1].tastes == 0>>
+				shocked by $his new disability
+			<<elseif $args[0].tastes == 0>>
+				pleasantly surprised at $his expanded senses
+			<</if>>
+			come $his next mealtime.
+		<</if>>
+		<<if ($args[0].smells != 0 && $args[1].smells == 0) || ($args[0].smells == 0 && $args[1].smells != 0)>>
+			$He won't realize it until some time after $he leaves the excessively sanitized operating room, but $he's likely to
+			<<if $args[1].smells == 0>>
+				find the loss of $his sense of smell very distressing
+			<<elseif $args[0].smells == 0>>
+				appreciate the restoration of $his sense of smell
+			<</if>>
+			when $he does.
+		<</if>>
 		<<if $args[0].physicalAge < 40 && $args[1].physicalAge > 50 && $args[0].fetish != "mindbroken">>
 			<<if $args[0].devotion > 20>>
 				$He can feel the @@.green;lack of wrinkles@@ on $his face and @@.hotpink;smiles broadly.@@
@@ -2253,14 +2271,14 @@ Now you only have to wait for $him to wake up.
 			<</if>>
 		<</if>>
 
-		<<if $args[0].sexualFlaw == "cum addiction" && $args[0].lips > $args[1].lips+10>> /* (bigger lip+oral fixation) */
+		<<if $args[0].sexualFlaw == "cum addict" && $args[0].lips > $args[1].lips+10>> /* (bigger lip+oral fixation) */
 			$He slowly puckers $his @@.lime;plush pillows.@@ A blush blossoms over $his face and the beeping of $his heart monitor speeds up slightly. You know that $he'll put them to good use.
 			<<if $args[0].devotion <= 20>>
 				$He pauses, and begins to @@.hotpink;hesitantly smile@@ as $he runs $his tongue across $his lovely new lips.
 			<</if>>
 		<<elseif $args[0].lips > $args[1].lips+10>>
 			$His eyes lock on $his lips and $he pauses for a moment,<<if $args[0].fetish == "mindbroken">> as if<</if>> noticing that @@.lime;they are larger now@@ than they once were.
-		<<elseif $args[0].sexualFlaw == "cum addiction" && $args[0].lips < $args[1].lips-10>> /* (smaller lip+oral fixation) */
+		<<elseif $args[0].sexualFlaw == "cum addict" && $args[0].lips < $args[1].lips-10>> /* (smaller lip+oral fixation) */
 			<<if $args[0].devotion > 20>>
 				$His eyes lock on $his lips and $he recoils. A second later, $he runs $his tongue across them to confirm $his fear. $His pride and joy are @@.orange;gone.@@ $He lets out a sniff and @@.mediumorchid;tears begin to roll down $his cheeks.@@
 				<<set $args[0].devotion -= 10>>
@@ -2285,6 +2303,24 @@ Now you only have to wait for $him to wake up.
 		<<elseif $args[0].teeth != "removable" && $args[0].tonguePiercing > 0 && $args[1].tonguePiercing == 0>> /* (if tongue pierced+has teeth) */
 			You can vaguely hear $him rattling $his tongue piercing against $his teeth as $he takes in $his appearance.
 		<</if>>
+		<<if ($args[0].tastes != 0 && $args[1].tastes == 0) || ($args[0].tastes == 0 && $args[1].tastes != 0)>>
+			$He can't sense the changes to $his taste buds, so $he's likely to be
+			<<if $args[0].tastes == 0>>
+				shocked by $his new disability
+			<<elseif $args[1].tastes == 0>>
+				pleasantly surprised at $his expanded senses
+			<</if>>
+			come $his next mealtime.
+		<</if>>
+		<<if ($args[0].smells != 0 && $args[1].smells == 0) || ($args[0].smells == 0 && $args[1].smells != 0)>>
+			$He won't realize it until some time after $he leaves the excessively sanitized operating room, but $he's likely to
+			<<if $args[0].smells == 0>>
+				find the loss of $his sense of smell very distressing
+			<<elseif $args[1].smells == 0>>
+				appreciate the restoration of $his sense of smell
+			<</if>>
+			when $he does.
+		<</if>>
 		<<if $args[0].physicalAge < 40 && $args[1].physicalAge > 50 && $args[0].fetish != "mindbroken">>
 			<<if $args[0].devotion > 20>>
 				$He notices the @@.green;lack of wrinkles@@ on $his face and @@.hotpink;smiles broadly.@@
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index f014f99ff39b728fa9ab83d158882c389d56e025..64831a9b7479ca41b175a719b25ace8e36dd6186 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -8014,9 +8014,9 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<</if>>
 	$He comes eagerly over and sucks you off with enthusiasm. As you cum, $he orgasms quickly at the <<if canTaste($activeSlave)>>taste<<else>>feeling<</if>> of the stuff hitting $his mouth<<if $PC.balls > 2>>, even as your load keeps flowing into $his gullet<<if $PC.balls > 3>> steadily bloated the poor $girl<</if>><</if>>.
 	<<if !canTalk($activeSlave)>>
-		$He <<if !canTaste($activeSlave)>>jokingly <</if>>signs that you taste great.
+		$He <<if !canTaste($activeSlave)>>(rather ironically) <</if>>signs that you taste great.
 	<<else>>
-		"<<Master>>, you ta<<s>>te great," $he <<if !canTaste($activeSlave)>>jokingly <</if>>purrs.
+		"<<Master>>, you ta<<s>>te great," $he <<if !canTaste($activeSlave)>>(rather ironically) <</if>>purrs.
 	<</if>>
 	@@.mediumaquamarine;$He has become more trusting@@ in your willingness to give $him what $he wants.
 	<<set $activeSlave.trust += 4, $activeSlave.oralCount++, $oralTotal++>>