diff --git a/src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs b/src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs
index c0e4ff1743..3afff9ecdc 100644
--- a/src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs
+++ b/src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs
@@ -59,5 +59,22 @@ namespace BizHawk.Emulation.Cores.Consoles.NEC.PCFX
 			["SELECT"] = "Select",
 			["RUN"] = "Run"
 		};
+
+		protected override HashSet<string> ComputeHiddenPorts()
+		{
+			// NB: Since we're hiding these settings up above, this will always trim us down to 2 ports
+			var devCount = 8;
+			if (SettingsQuery("pcfx.input.port1.multitap") != "1")
+				devCount -= 3;
+			if (SettingsQuery("pcfx.input.port2.multitap") != "1")
+				devCount -= 3;
+			var ret = new HashSet<string>();
+			for (var i = 1; i <= 8; i++)
+			{
+				if (i > devCount)
+					ret.Add($"port{i}");
+			}
+			return ret;
+		}
 	}
 }