diff --git a/modules/modes/select.js b/modules/modes/select.js index e68906bf3..382428ddc 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -77,10 +77,14 @@ export function modeSelect(context, selectedIDs) { }); } - if (ids.length) { - selectedIDs = ids; - } else { + if (!ids.length) { context.enter(modeBrowse(context)); + } else if ((selectedIDs.length > 1 && ids.length === 1) || + (selectedIDs.length === 1 && ids.length > 1)) { + // switch between single- and multi-select UI + context.enter(modeSelect(context, ids)); + } else { + selectedIDs = ids; } return !!ids.length; }