diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index decb9fa9af29933fe3b8c021b0d9753b37635b7d..f9bc025075347a40388ea8cc777daab0b3d9fef4 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -797,17 +797,16 @@ HelpViewer* HelpPlugin::viewerForContextMode()
             break;
     }
 
-    HelpViewer *viewer = m_centralWidget->currentHelpViewer();
     if (placeHolder && showSideBySide) {
         RightPaneWidget::instance()->setShown(true);
-
         createRightPaneContextViewer();
-        viewer = m_helpViewerForSideBar;
-    } else {
-        activateHelpMode();
-        if (!viewer)
-            viewer = OpenPagesManager::instance().createPage();
+        return m_helpViewerForSideBar;
     }
+
+    activateHelpMode(); // should trigger an createPage...
+    HelpViewer *viewer = m_centralWidget->currentHelpViewer();
+    if (!viewer)
+        viewer = OpenPagesManager::instance().createPage();
     return viewer;
 }
 
diff --git a/src/plugins/help/openpagesmanager.cpp b/src/plugins/help/openpagesmanager.cpp
index ebe15cb393b8a7f94d3e818f756cdb6c562353bf..fb602b979888fb24ff0d499a7cf16bdee7c71602 100644
--- a/src/plugins/help/openpagesmanager.cpp
+++ b/src/plugins/help/openpagesmanager.cpp
@@ -177,7 +177,8 @@ void OpenPagesManager::setupInitialPages()
         CentralWidget::instance()->addPage(m_model->pageAt(i));
 
     emit pagesChanged();
-    setCurrentPage(initialPage);
+    setCurrentPage((initialPage >= m_model->rowCount())
+        ? m_model->rowCount() - 1 : initialPage);
     m_openPagesSwitcher->selectCurrentPage();
 }