diff --git a/browser/base/content/browser-tabPreviews.js b/browser/base/content/browser-tabPreviews.js index 5ba9a2620aec..785101305f93 100644 --- a/browser/base/content/browser-tabPreviews.js +++ b/browser/base/content/browser-tabPreviews.js @@ -310,12 +310,14 @@ var ctrlTab = { }, advanceFocus: function ctrlTab_advanceFocus(aForward) { - if (this.panel.state == "open") { + if (this._selectedIndex == -1) { + // No virtual selectedIndex, focus must be in the panel already. if (aForward) document.commandDispatcher.advanceFocus(); else document.commandDispatcher.rewindFocus(); } else { + // Focus isn't in the panel yet, so we maintain a virtual selectedIndex. do { this._selectedIndex += aForward ? 1 : -1; if (this._selectedIndex < 0)