         )
 
         self.presentViewController(alert, animated: true, completion: nil)
+    }
+
+    private func shouldRestoreTabs() -> Bool {
+        guard let tabsToRestore = tabManager.tabsToRestore() else { return false }
+        let onlyNoHistoryTabs = !tabsToRestore.every { $0.sessionData?.urls.count > 1 || !AboutUtils.isAboutHomeURL($0.sessionData?.urls.first) }
+        return !onlyNoHistoryTabs && !DebugSettingsBundleOptions.skipSessionRestore
     }
 
     override func viewDidAppear(animated: Bool) {

            // Reset previous crash state
            activeCrashReporter?.resetPreviousCrashState()

            // Only ask to restore tabs from a crash if we had non-home tabs or tabs with some kind of history in them
            guard let tabsToRestore = tabManager.tabsToRestore() else { return }
            let onlyNoHistoryTabs = !tabsToRestore.every { $0.sessionData?.urls.count > 1 }
            if onlyNoHistoryTabs {
                tabManager.addTabAndSelect();
                return
            }

            let optedIntoCrashReporting = profile.prefs.boolForKey("crashreports.send.always")
            if optedIntoCrashReporting == nil {
                // Offer a chance to allow the user to opt into crash reporting

    }

    private func showRestoreTabsAlert() {
        guard shouldRestoreTabs() else {
            self.tabManager.addTabAndSelect()
            return
        }
