diff --git a/src/interaction/wardrobeUse.js b/src/interaction/wardrobeUse.js
index c776cb44ac2178087556efe80f7416597665027c..464117b8e027260a885508286ca56b72475cce98 100644
--- a/src/interaction/wardrobeUse.js
+++ b/src/interaction/wardrobeUse.js
@@ -721,7 +721,7 @@ App.UI.Wardrobe.dickAccessory = function(slave) {
 	if (slave.fuckdoll !== 0) {
 		return;
 	}
-	// <<dickAccessoryDescription>>
+	// <<= App.Desc.dickAccessory($activeSlave)>>
 
 	const {
 		// eslint-disable-next-line no-unused-vars
diff --git a/src/npc/descriptions/dick/dick.js b/src/npc/descriptions/dick/dick.js
index 58d0b26b98e4fc7a0a341600dc601bb83f1b836c..5d60283e4783cd01baf10c8dc0d0996a1b0633e6 100644
--- a/src/npc/descriptions/dick/dick.js
+++ b/src/npc/descriptions/dick/dick.js
@@ -638,8 +638,8 @@ App.Desc.dick = function(slave) {
 					r.push(`The drugs ejaculated by the dildo up ${his} asshole keep ${his} almost permanently hard, only letting ${him} go soft right after ejaculation.`);
 				}
 				r.push(`As you watch, the machine detects that ${his} balls are ready for emptying. It reams ${his} ass until semen whitens the transparent tubing coming off the head of the receptacle covering ${his} dick.`);
-			} else if ((slave.chastityPenis === 1)) {
-				// <<dickAccessoryDescription>> todo
+			} else if (slave.chastityPenis === 1) {
+				r.push(App.Desc.dickAccessory(slave));
 			} else if (slave.drugs === "priapism agents") {
 				if (slave.dick > 8) {
 					r.push(`${He}'s painfully hard, despite the size of ${his} cock, and on the brink of losing consciousness, since a dangerous amount of ${his} blood volume is required to even get it to this point.`);
diff --git a/src/npc/descriptions/dick/dickAccessory.js b/src/npc/descriptions/dick/dickAccessory.js
new file mode 100644
index 0000000000000000000000000000000000000000..3b35f29701017b4f8748832065957bb8957cb44c
--- /dev/null
+++ b/src/npc/descriptions/dick/dickAccessory.js
@@ -0,0 +1,16 @@
+App.Desc.dickAccessory = function(slave) {
+	const r = [];
+	const {
+		he, him, his, hers, himself, boy, He, His
+	} = getPronouns(slave);
+	if (slave.chastityPenis === 1) {
+		r.push(`${His} cock is encased in a tight chastity cage, which is designed to be comfortable as long as ${he} remains soft.`);
+		if (slave.energy > 95) {
+			r.push(`The poor nympho looks painfully frustrated by this, and a long string of precum is dangling from the hole in the bottom of the cage.`);
+		}
+		 if (V.arcologies[0].FSRestart !== "unset") {
+			r.push(`This pleases the Societal Elite.`);
+		}
+	}
+	return r.join(" ");
+};
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index 3ab3e809788900b87332b5a6ce4e797196a4b950..a2264b312620d96e287b24b5a89d890ed6dd2814 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -183,7 +183,7 @@
 			<</if>>
 			As you watch, the machine detects that $his balls are ready for emptying. It reams $his ass until semen whitens the transparent tubing coming off the head of the receptacle covering $his dick.
 		<<elseif ($activeSlave.chastityPenis == 1)>>
-			<<dickAccessoryDescription>>
+			<<= App.Desc.dickAccessory($activeSlave)>>
 		<<elseif $activeSlave.drugs == "priapism agents">>
 			<<if ($activeSlave.dick > 8)>>
 				$He's painfully hard, despite the size of $his cock, and on the brink of losing consciousness, since a dangerous amount of $his blood volume is required to even get it to this point.
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index 5d5a9195ccbd1802816e6af839e6d059fc49013f..4df3fda723a122185b9fbd35e6b3ac7f2d3b101c 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -6100,14 +6100,3 @@ $His
 <</switch>>
 <</widget>>
 
-<<widget "dickAccessoryDescription">>
-	<<if ($activeSlave.chastityPenis == 1)>>
-		$His cock is encased in a tight chastity cage, which is designed to be comfortable as long as $he remains soft.
-		<<if ($activeSlave.energy > 95)>>
-			The poor nympho looks painfully frustrated by this, and a long string of precum is dangling from the hole in the bottom of the cage.
-		<</if>>
-		<<if $arcologies[0].FSRestart != "unset">>
-			This pleases the Societal Elite.
-		<</if>>
-	<</if>>
-<</widget>>