diff --git a/src/pregmod/FCTV/FCTV.js b/src/pregmod/FCTV/FCTV.js
index 4b1153c006fe4d5b047383991cfbb280ed1401b4..02baa40df9ed0896951c2501e11e31b4f57b94ca 100644
--- a/src/pregmod/FCTV/FCTV.js
+++ b/src/pregmod/FCTV/FCTV.js
@@ -88,18 +88,14 @@ globalThis.FCTV = (function() {
 					}
 				}
 			}
+			if (App.Data.FCTV.shows[i].hasOwnProperty("disableSelection")) {
+				x.canSelect = -1; x.text += `<i>This channel appears at random times</i>`;
+			}
 		}
-		switch (i) {
-			case 3: case 4:
-				if (usedRemote && (!V.cheatMode || !V.debugMode)) {
-					x.canSelect = -1;
-				}
-				break;
-			case 11:
-				if (V.purchasedSagBGone && V.FCTV.channel[num(i, true)] > 2) {
-					x.canSelect = -1; x.text += `<i>Product purchase detected, skipping commercials.</i>`;
-				}
-				break;
+		if (i === 11) {
+			if (V.purchasedSagBGone && V.FCTV.channel[num(i, true)] > 2) {
+				x.canSelect = -1; x.text += `<i>Product purchase detected, skipping commercials.</i>`;
+			}
 		}
 
 		if (seeAll) { x.canSelect = 1; }
@@ -192,7 +188,7 @@ globalThis.FCTVdisplay = function({ usedRemote = 0, seeAll = 0 } = {}) {
 		let div;
 		let span;
 		V.FCTV.pcViewership.count++;
-		let _possibleChannels = [0].concat(FCTV.channels());
+		let _possibleChannels = FCTV.channels();
 
 		p = document.createElement("p");
 
@@ -318,7 +314,7 @@ globalThis.FCTVdisplay = function({ usedRemote = 0, seeAll = 0 } = {}) {
 						buttons.push(span);
 					}
 				} else {
-					if (![3, 4].includes(i)) {
+					if (App.Data.FCTV.shows[i].disableSelection) {
 						buttons.push(
 							App.UI.DOM.disabledLink(i, [FCTV.showChannel(i).text])
 						);
@@ -387,7 +383,9 @@ globalThis.FCTVdisplay = function({ usedRemote = 0, seeAll = 0 } = {}) {
 		let slave;
 		if (channel.episode[epToShow].slaves) {
 			slave = channel.episode[epToShow].slaves[0];
-			App.Events.drawEventArt(frag, slave);
+			if (sel !== 3) { // Art for the slave market will be shown in longSlave
+				App.Events.drawEventArt(frag, slave);
+			}
 		}
 		if (channel.intro) {
 			$(frag).append(channel.intro);
diff --git a/src/pregmod/FCTV/FCTVshows.js b/src/pregmod/FCTV/FCTVshows.js
index 656a98c79b609a1ddbf3d1bc1f37579a820d6b6b..0302e23bde55ba92c1e55214a2a70c17a03a0317 100644
--- a/src/pregmod/FCTV/FCTVshows.js
+++ b/src/pregmod/FCTV/FCTVshows.js
@@ -508,7 +508,7 @@ App.Data.FCTV.actors = {
 	}
 };
 App.Data.FCTV.shows = {
-	1: { // News
+	0: { // News
 		tags: [],
 		loop: true,
 		intro: `officially known as the FCNN stream channel and you've started watching the middle of a news segment.`,
@@ -600,7 +600,7 @@ App.Data.FCTV.shows = {
 			},
 		]
 	},
-	2: { // Talk
+	1: { // Talk
 		tags: [],
 		loop: true,
 		get intro() {
@@ -651,7 +651,7 @@ App.Data.FCTV.shows = {
 			},
 		]
 	},
-	3: { // 'Home and Slave'
+	2: { // 'Home and Slave'
 		tags: [],
 		loop: true,
 		intro: `which is currently showing the 'Home and Slave' stream channel.The current show features a set of female twins wearing nothing but tool belts.Their assets aren't particularly noteworthy, but they have a great hourglass figure, toned muscles, and gorgeous girl-next-door faces. The girls are hosting a DIY show, and seem to be performing a lot of the work themselves. The occasional bead of sweat makes their smooth tan skin really stand out.`,
@@ -736,10 +736,11 @@ App.Data.FCTV.shows = {
 			}
 		]
 	},
-	4: { // 'Home Slave Shopping'
+	3: { // 'Home Slave Shopping'
 		// NOTE: These slaves are meant to be high quality and expensive, they are the product of the combined slave markets of all the Free Cities. Additionally, they won't follow the player's slave selling policies because they aren't being sold in the PC's arcology. Because they are purchased, it shouldn't be a balance issue or impact the game like a slave gift.
 		tags: [],
 		loop: true,
+		disableSelection: true,
 		intro: `which is currently streaming 'Home Slave Shopping'. It's a bit strange, shopping for slaves without inspecting them in person, but you have to admit it's kind of convenient. Plus, you might find something that'd be difficult to get in your own arcology's markets. You start watching at the end of one slave being displayed; the program goes into a lot of detail that isn't always available from shady salesmen at the market. Two hosts are displaying the merchandise and an older male reads details on each slave from a prompter, while a fit female works the slave for the camera to give viewers a good look at what they might purchase.`,
 		extro: function(slave, show) { // TODO: test.
 			const p = document.createElement("p");
@@ -752,7 +753,7 @@ App.Data.FCTV.shows = {
 				cost *= 0.7;
 			}
 			cost = 500 * Math.trunc(cost / 500);
-			p.append(`The offered price is ${cashFormat(cost)}.`);
+			p.append(`The offered price is ${cashFormat(cost)}. `);
 
 			if (V.cash >= cost) {
 				p.append(
@@ -761,6 +762,7 @@ App.Data.FCTV.shows = {
 						"New Slave Intro",
 						() => {
 							cashX(forceNeg(cost), "slaveTransfer", slave);
+							V.activeSlave = slave;
 							V.nextLink = "Scheduled Event";
 							V.returnTo = "Scheduled Event";
 						}