diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 5742eb1a12573d6453b6d86b92cdde4f28bc855b..1c83700a1d6e9a0f2770b3d66322b6862ec9bfde 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -203,14 +203,14 @@ MainWindow::MainWindow() :
     statusBar()->setProperty("p_styled", true);
 }
 
-void MainWindow::toggleNavigation()
+void MainWindow::setSidebarVisible(bool visible)
 {
     if (NavigationWidgetPlaceHolder::current()) {
-        if (m_navigationWidget->isSuppressed()) {
+        if (m_navigationWidget->isSuppressed() && visible) {
             m_navigationWidget->setShown(true);
             m_navigationWidget->setSuppressed(false);
         } else {
-            m_navigationWidget->setShown(!m_navigationWidget->isShown());
+            m_navigationWidget->setShown(visible);
         }
     }
 }
@@ -628,7 +628,7 @@ void MainWindow::registerDefaultActions()
 
     // Toggle Sidebar Action
     m_toggleSideBarAction = new QAction(QIcon(Constants::ICON_TOGGLE_SIDEBAR),
-                                        tr("Toggle Sidebar"), this);
+                                        tr("Show Sidebar"), this);
     m_toggleSideBarAction->setCheckable(true);
     cmd = am->registerAction(m_toggleSideBarAction, Constants::TOGGLE_SIDEBAR, m_globalContext);
 #ifdef Q_OS_MAC
@@ -636,7 +636,7 @@ void MainWindow::registerDefaultActions()
 #else
     cmd->setDefaultKeySequence(QKeySequence("Alt+0"));
 #endif
-    connect(m_toggleSideBarAction, SIGNAL(triggered()), this, SLOT(toggleNavigation()));
+    connect(m_toggleSideBarAction, SIGNAL(triggered(bool)), this, SLOT(setSidebarVisible(bool)));
     m_toggleSideBarButton->setDefaultAction(cmd->action());
     mwindow->addAction(cmd, Constants::G_WINDOW_PANES);
     m_toggleSideBarAction->setEnabled(false);
diff --git a/src/plugins/coreplugin/mainwindow.h b/src/plugins/coreplugin/mainwindow.h
index c7fccdefabb55954366a57f5608a1017d344e27a..e1fb1d9c6626aeb7466c66ce919881fe4c10965e 100644
--- a/src/plugins/coreplugin/mainwindow.h
+++ b/src/plugins/coreplugin/mainwindow.h
@@ -158,7 +158,7 @@ private slots:
     void aboutQtCreator();
     void aboutPlugins();
     void updateFocusWidget(QWidget *old, QWidget *now);
-    void toggleNavigation();
+    void setSidebarVisible(bool visible);
     void destroyVersionDialog();
 
 private: