diff --git a/src/gui/multipleInspect.js b/src/gui/multipleInspect.js
index 508a63e29e7e59a6092f6ffd6c91c92408e5c092..145853bd3f824fbf815b61d7d9a2311880bd9edf 100644
--- a/src/gui/multipleInspect.js
+++ b/src/gui/multipleInspect.js
@@ -1,16 +1,4 @@
 App.UI.MultipleInspect = (function() {
-	function _LSDDOM(slave, saleDescription, applyLaw) {
-		// LSD will reset these globals, so we have to set them every single time
-		V.saleDescription = (saleDescription ? 1 : 0);
-		V.applyLaw = (applyLaw ? 1 : 0);
-
-		const oldAS = V.activeSlave;
-		V.activeSlave = slave;
-		const frag = App.UI.DOM.renderPassage("Long Slave Description");
-		V.activeSlave = oldAS;
-		return frag;
-	}
-
 	/**
 	 * Provide a mechanism to inspect multiple slaves at once (for example, for Household Liquidators and recETS).
 	 * Intended for use from DOM passages.
@@ -26,7 +14,7 @@ App.UI.MultipleInspect = (function() {
 
 		for (const slave of slaves) {
 			tabbar.append(App.UI.tabbar.tabButtonDOM(`slave${slave.ID}`, slave.slaveName));
-			frag.append(App.UI.tabbar.makeTabDOM(`slave${slave.ID}`, _LSDDOM(slave, saleDescription, applyLaw)));
+			frag.append(App.UI.tabbar.makeTabDOM(`slave${slave.ID}`, App.Desc.longSlave({slave: slave, saleDescription: saleDescription, applyLaw: applyLaw});));
 		}
 
 		if (slaves.length > 1 && showFamilyTree) {
diff --git a/src/js/utilsSC.js b/src/js/utilsSC.js
index 7220553e7049efef3aa861447665c84a6d3b6bad..09b8e589e2f29239269a76b9cb20650e5286d2be 100644
--- a/src/js/utilsSC.js
+++ b/src/js/utilsSC.js
@@ -273,17 +273,10 @@ App.UI.disabledLink = function(link, reasons) {
 
 /** handler function for slaveDescriptionDialog. do not call directly. */
 App.UI._showDescriptionDialog = function(slave) {
-	const oldEventDescription = V.eventDescription;
-	V.eventDescription = 1; // should be easy enough to use this for non-event cases too, but you'll need to fix the art display
-	const oldActiveSlave = V.activeSlave;
-	V.activeSlave = slave;
 	Dialog.setup(SlaveFullName(slave));
 	const image = App.UI.DOM.makeElement("div", App.Art.SlaveArtElement(slave, 2, 0), ["imageRef", "medImg"]);
-	const lsd = App.UI.DOM.renderPassage("Long Slave Description");
-	Dialog.append(image).append(lsd);
+	Dialog.append(image).append(App.Desc.longSlave({slave: slave, eventDescription: 1}));
 	Dialog.open();
-	V.activeSlave = oldActiveSlave;
-	V.eventDescription = oldEventDescription;
 };
 
 /**
diff --git a/src/uncategorized/reRebels.tw b/src/uncategorized/reRebels.tw
index 3c7b80e779f57f5a63aed626f5b9b6dec1421aec..7f4f398b3ef801c2b5a654a272812c47c685eb69 100644
--- a/src/uncategorized/reRebels.tw
+++ b/src/uncategorized/reRebels.tw
@@ -27,7 +27,7 @@
 <<set $slaves[_i].clothes = _clothesTemp>>
 <<set $slaves[_j].clothes = _clothesTemp2>>
 
-You have a rebel problem. <<link "$slaves[_i].slaveName" "Long Slave Description">><<set $nextLink = passage(), $returnTo = "Back to Event", $activeSlave = $slaves[_i]>><</link>> and <<link "$slaves[_j].slaveName" "Long Slave Description">><<set $nextLink = passage(), $returnTo = "Back to Event", $activeSlave = $slaves[_j]>><</link>> are both unbroken, and they seem to draw strength from each other. They're discreet about it, but the arcology's always-vigilant systems occasionally catch them nodding to one another after one of them is punished, or giving each other quiet words of encouragement when they think no one is listening. This is extremely dangerous and should be addressed promptly.
+You have a rebel problem. <<= App.UI.slaveDescriptionDialog($slaves[_i])>> and <<= App.UI.slaveDescriptionDialog($slaves[_j])>> are both unbroken, and they seem to draw strength from each other. They're discreet about it, but the arcology's always-vigilant systems occasionally catch them nodding to one another after one of them is punished, or giving each other quiet words of encouragement when they think no one is listening. This is extremely dangerous and should be addressed promptly.
 
 <br><br>