diff --git a/packages/blockly/core/dialog.ts b/packages/blockly/core/dialog.ts index ccb54266927..a311ea72457 100644 --- a/packages/blockly/core/dialog.ts +++ b/packages/blockly/core/dialog.ts @@ -251,7 +251,11 @@ function displayDialog( let restoreFocus: (() => void) | undefined; if (activeDialogCount === 0) { - restoreFocus = getFocusManager().takeEphemeralFocus(dialog); + if (getFocusManager().ephemeralFocusTaken()) { + restoreFocus = undefined; + } else { + restoreFocus = getFocusManager().takeEphemeralFocus(dialog); + } } activeDialogCount++;