diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index 84147647f80bb543fb9f235843f03bb3ddb9613c..6440d4834220a81584c3a0dd801d2ffc4cbec266 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -356,6 +356,8 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error)
 
     createRightPaneSideBar();
 
+    QDesktopServices::setUrlHandler("qthelp", this, "openHelpPage");
+
     return true;
 }
 
@@ -523,7 +525,6 @@ void HelpPlugin::extensionsInitialized()
     m_bookmarkManager->setupBookmarkModels();
 
     if (Core::Internal::WelcomeMode *welcomeMode = qobject_cast<Core::Internal::WelcomeMode*>(m_core->modeManager()->mode(Core::Constants::MODE_WELCOME))) {
-        connect(welcomeMode, SIGNAL(requestHelp()), this, SLOT(openGettingStarted()));
         connect(welcomeMode, SIGNAL(openHelpPage(const QString&)), this, SLOT(openHelpPage(const QString&)));
     }
 }
@@ -722,11 +723,9 @@ void HelpPlugin::addNewBookmark(const QString &title, const QString &url)
     m_bookmarkManager->showBookmarkDialog(m_centralWidget, title, url);
 }
 
-void HelpPlugin::openGettingStarted()
+void HelpPlugin::openHelpPage(const QUrl& url)
 {
-    openHelpPage(
-        QString("qthelp://com.nokia.qtcreator.%1%2/doc/index.html")
-        .arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR));
+    openHelpPage(url.toString());
 }
 
 void HelpPlugin::openHelpPage(const QString& url)
diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h
index fae6172e32105b533169b2fc8471b97893bcb3da..316d3742c2db770ac06569027954e34f642fe815 100644
--- a/src/plugins/help/helpplugin.h
+++ b/src/plugins/help/helpplugin.h
@@ -128,7 +128,7 @@ private slots:
     void slotHideRightPane();
     void copyFromSideBar();
 
-    void openGettingStarted();
+    void openHelpPage(const QUrl& url);
     void openHelpPage(const QString& url);
 
 private: