diff --git a/src/js/slaveGenerationJS.js b/src/js/slaveGenerationJS.js
index 9e03b7e2e94cc8a78a6af1f306a7683fa6c9bfc9..95f0cb7402b8660fa641935638c5852c2f612a5f 100644
--- a/src/js/slaveGenerationJS.js
+++ b/src/js/slaveGenerationJS.js
@@ -1500,6 +1500,7 @@ window.BaseSlave = function BaseSlave() {
 		hears: 0,
 		earwear: "none",
 		earImplant: 0,
+		earShape: "normal",
 		origHColor: "brown",
 		hColor: "brown",
 		pubicHColor: "brown",
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 71117e65cd8415b5c54b2c53c3b4ce8f16327241..5293968c479c9d5a005fa774274ea1e8ece72f4b 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -155,6 +155,17 @@ $His $activeSlave.faceShape face is
 	<</if>>
 <</if>>
 
+<</if>>
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;
+	$He has 
+<<if $activeSlave.earShape == "normal">>
+	normal shaped ears.
+	[[Elongate ears|Surgery Degradation][$activeSlave.earShape = "elfin", cashX(forceNeg($surgeryCost), "slaveSurgery"), $activeSlave.health -= 10, $surgeryType = "earShape"]]
+<<elseif $activeSlave.earShape == "elfin">>
+	elfin shaped ears.
+	[[Purge ears|Surgery Degradation][$activeSlave.earShape = "normal", cashX(forceNeg($surgeryCost), "slaveSurgery"), $activeSlave.health -= 10, $surgeryType = "earShape"]]
+<</if>>
+
 <<if $activeSlave.earImplant == 1>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	$He has cochlear implants.
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index 3b0bbbd3113383bd3b3ceaf6c7942e72e17d2490..e2ffcddeee079ca8dc0c0686ebe4ee317d48029a 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -416,7 +416,7 @@ As the remote surgery's long recovery cycle completes,
 	<</if>>
 	<<set $activeSlave.hears = 0>>
 
-<<case "newEars">>
+<<case "earShape">>
 	The implant surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as the bandages around $his ears are removed, $he initially believes nothing has changed, but soon discovers $his hearing is no longer technologically enhanced.
 
 <<case "boobs">>
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index ce769c0499d381b1110bac6d781582c4e422a0d9..443f82c5caf2269f4ce3986dc76dfcecaf403c2a 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -5321,6 +5321,9 @@ $He's got a
 
 <<widget "earDescription">>
 /* ear shape description here */
+<<if $activeSlave.earShape == "elfin">>
+	$His $activeSlave.earShape ears are <<print either("elongated, ending in pointed tips that might wiggle when "+$he+"'s particularly pleased with something.", "long and thin, tapering to a point.", " leaf-shaped, and twitch with the slightest touch.")>>
+<</if>>
 <<if $activeSlave.hears < 0>>
 	<<if $activeSlave.hears == -1>>
 		$His hearing is noticeably impaired,