diff --git a/src/renderer/components/item-list/item-detail-list/item-detail.tsx b/src/renderer/components/item-list/item-detail-list/item-detail.tsx index d295d7d37..a09b273d6 100644 --- a/src/renderer/components/item-list/item-detail-list/item-detail.tsx +++ b/src/renderer/components/item-list/item-detail-list/item-detail.tsx @@ -204,7 +204,11 @@ const TrackRow = memo( internalState.setSelected([song]); } } else { - internalState.setSelected([song]); + const selected = internalState.getSelected(); + const onlyThisSelected = + selected.length === 1 && + internalState.extractRowId(selected[0]) === song.id; + internalState.setSelected(onlyThisSelected ? [] : [song]); } }, [internalState, song],