diff --git a/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx b/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx
index 7e1265f9c..da6c41f9d 100644
--- a/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx
+++ b/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx
@@ -172,29 +172,38 @@ function computeEntries(
onSelectDevice: (device: BaseDevice) => void,
onSelectApp: (device: BaseDevice, client: Client) => void,
) {
- const entries = devices.filter(canBeDefaultDevice).map((device) => {
- const deviceEntry = (
-
{
- onSelectDevice(device);
- }}>
- {device.displayTitle()}
-
- );
- const clientEntries = getAvailableClients(device, clients).map((client) => (
- {
- onSelectApp(device, client);
- }}>
- {client.query.app}
-
- ));
- return [deviceEntry, ...clientEntries];
- });
+ const entries = devices
+ .filter(
+ (device) =>
+ // hide non default devices, unless they have a connected client
+ canBeDefaultDevice(device) ||
+ clients.some((c) => c.deviceSync === device),
+ )
+ .map((device) => {
+ const deviceEntry = (
+ {
+ onSelectDevice(device);
+ }}>
+ {device.displayTitle()}
+
+ );
+ const clientEntries = getAvailableClients(device, clients).map(
+ (client) => (
+ {
+ onSelectApp(device, client);
+ }}>
+ {client.query.app}
+
+ ),
+ );
+ return [deviceEntry, ...clientEntries];
+ });
if (uninitializedClients.length) {
entries.push([