diff --git a/src/interaction/siPhysicalRegimen.js b/src/interaction/siPhysicalRegimen.js
index 6e8a6e9665da2dfd269041f2923a040133961222..6c5a2e6974ceb0a076add5b763af2aa23b785c17 100644
--- a/src/interaction/siPhysicalRegimen.js
+++ b/src/interaction/siPhysicalRegimen.js
@@ -263,16 +263,16 @@ App.UI.SlaveInteract.physicalRegimen = function(slave) {
 			title.appendChild(App.UI.SlaveInteract.generateRows(drugLevelOptions, slave, "", false, refresh));
 			el.append(title);
 
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Lips", lips, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Breasts", breasts, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Nipples", nipples, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Butt", butt, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, slave.dick > 0 ? "Dick" : "Clit", dick, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Balls", balls, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Fertility", fertility, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Hormones", hormones, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Psych", psych, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Misc", misc, slave, refresh);
+			appendLabeledChoiceRow("Lips", lips);
+			appendLabeledChoiceRow("Breasts", breasts);
+			appendLabeledChoiceRow("Nipples", nipples);
+			appendLabeledChoiceRow("Butt", butt);
+			appendLabeledChoiceRow(slave.dick > 0 ? "Dick" : "Clit", dick);
+			appendLabeledChoiceRow("Balls", balls);
+			appendLabeledChoiceRow("Fertility", fertility);
+			appendLabeledChoiceRow("Hormones", hormones);
+			appendLabeledChoiceRow("Psych", psych);
+			appendLabeledChoiceRow("Misc", misc);
 
 			return el;
 		}
@@ -938,11 +938,11 @@ App.UI.SlaveInteract.physicalRegimen = function(slave) {
 				}
 			}
 
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Health", health, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Weight", weight, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Muscle", muscle, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Production", production, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Hormone", hormone, slave, refresh);
+			appendLabeledChoiceRow("Health", health);
+			appendLabeledChoiceRow("Weight", weight);
+			appendLabeledChoiceRow("Muscle", muscle);
+			appendLabeledChoiceRow("Production", production);
+			appendLabeledChoiceRow("Hormone", hormone);
 
 			return el;
 		}
@@ -999,8 +999,8 @@ App.UI.SlaveInteract.physicalRegimen = function(slave) {
 			title.append(choice);
 			el.append(title);
 
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Milk", milk, slave, refresh);
-			App.UI.SlaveInteract.appendLabeledChoiceRow(el, "Cum", cum, slave, refresh);
+			appendLabeledChoiceRow("Milk", milk);
+			appendLabeledChoiceRow("Cum", cum);
 
 			return el;
 		}
@@ -1037,4 +1037,18 @@ App.UI.SlaveInteract.physicalRegimen = function(slave) {
 	function refresh() {
 		jQuery("#si-physical-regimen").empty().append(physicalRegimenContent());
 	}
+
+	/** Append a simple row of choices with a label to a container, if there are choices to be made.
+	 * @param {string} label
+	 * @param {RowItem[]} array
+	 */
+	function appendLabeledChoiceRow(label, array) {
+		if (array.length > 0) {
+			const links = document.createElement('div');
+			links.append(`${label}: `);
+			links.appendChild(App.UI.SlaveInteract.generateRows(array, slave, "", false, refresh));
+			links.className = "choices";
+			return el.appendChild(links);
+		}
+	}
 };
diff --git a/src/interaction/siUtilities.js b/src/interaction/siUtilities.js
index 017d7ff0e79708e6334bacca3782bc7913f240cd..55bd7902426f6cdba60dfb7262d838f0a9ea670c 100644
--- a/src/interaction/siUtilities.js
+++ b/src/interaction/siUtilities.js
@@ -34,23 +34,6 @@ App.UI.SlaveInteract.placeInLine = function(slave) {
  * @property {string} [note]
  */
 
-/** Append a simple row of choices with a label to a container, if there are choices to be made.
- * @param {Node} parent
- * @param {string} label
- * @param {RowItem[]} array
- * @param {App.Entity.SlaveState} slave
- * @param {Function} refresh
- */
-App.UI.SlaveInteract.appendLabeledChoiceRow = function(parent, label, array, slave, refresh) {
-	if (array.length > 0) {
-		let links = document.createElement('div');
-		links.append(`${label}: `);
-		links.appendChild(App.UI.SlaveInteract.generateRows(array, slave, "", false, refresh));
-		links.className = "choices";
-		return parent.appendChild(links);
-	}
-};
-
 /** Generate a row of choices
  * @param {RowItem[]} array
  * @param {App.Entity.SlaveState} slave
@@ -61,44 +44,40 @@ App.UI.SlaveInteract.appendLabeledChoiceRow = function(parent, label, array, sla
  */
 App.UI.SlaveInteract.generateRows = function(array, slave, category, accessCheck = false, refresh) {
 	const linkArray = [];
-	for (let i = 0; i < array.length; i++) {
+	for (const item of array) {
 		let link;
 		// Some items will never be in App.Data.slaveWear, especially "none" if it falls in between harsh and nice data sets. Trying to look it up would cause an error, which is what access check works around.
 		let unlocked = false;
 		if (accessCheck === true) {
-			if (category === "chastity") {
-				let text = array[i].text.toLowerCase(); // Yucky. Category name does not match for chastity (since it sets multiple kinds of chastity at once). Compare using a lowercase name instead.
-				unlocked = isItemAccessible.entry(text, category, slave);
-			} else {
-				unlocked = isItemAccessible.entry(array[i].updateSlave[category], category, slave);
-			}
+			const itemName = (category === "chastity") ? item.text.toLowerCase() : item.updateSlave[category]; // Yucky. Category name does not match for chastity (since it sets multiple kinds of chastity at once). Compare using a lowercase name instead.
+			unlocked = isItemAccessible.entry(itemName, category, slave);
 		}
 		if (accessCheck === false || unlocked) {
 			// is it just text?
-			if (array[i].disabled) {
-				link = App.UI.DOM.disabledLink(array[i].text, [array[i].disabled]);
+			if (item.disabled) {
+				link = App.UI.DOM.disabledLink(item.text, [item.disabled]);
 			} else if (typeof unlocked === 'string') {
-				link = App.UI.DOM.disabledLink(array[i].text, [unlocked]);
+				link = App.UI.DOM.disabledLink(item.text, [unlocked]);
 			} else {
 				link = document.createElement('span');
 
 				// Set up the link
 				link.appendChild(
 					App.UI.DOM.link(
-						`${array[i].text} `,
-						() => { click(array[i]); },
+						`${item.text} `,
+						() => { click(item); },
 					)
 				);
 
-				if (array[i].FS) {
-					let FS = App.UI.DOM.disabledLink(`FS`, [FutureSocieties.displayAdj(array[i].FS)]);
+				if (item.FS) {
+					let FS = App.UI.DOM.disabledLink(`FS`, [FutureSocieties.displayAdj(item.FS)]);
 					FS.style.fontStyle = "italic";
 					link.appendChild(FS);
 				}
 
 				// add a note node if required
-				if (array[i].note) {
-					link.appendChild(App.UI.DOM.makeElement('span', ` ${array[i].note}`, 'note'));
+				if (item.note) {
+					link.appendChild(App.UI.DOM.makeElement('span', ` ${item.note}`, 'note'));
 				}
 			}
 			linkArray.push(link);