diff --git a/src/plugins/coreplugin/icontext.h b/src/plugins/coreplugin/icontext.h
index 81a6324091b572f10d254b9e155ca4b23b932e12..cbdfc36702c70baeadd7a6097258bb22d2708e74 100644
--- a/src/plugins/coreplugin/icontext.h
+++ b/src/plugins/coreplugin/icontext.h
@@ -51,6 +51,25 @@ public:
     virtual QString contextHelpId() const { return QString(); }
 };
 
+class BaseContext : public Core::IContext
+{
+public:
+    BaseContext(QWidget *widget, const QList<int> &context, QObject *parent = 0)
+        : Core::IContext(parent),
+        m_widget(widget),
+        m_context(context)
+    {
+    }
+
+    QList<int> context() const { return m_context; }
+
+    QWidget *widget() { return m_widget; }
+
+private:
+    QWidget *m_widget;
+    QList<int> m_context;
+};
+
 } // namespace Core
 
 #endif //ICONTEXT_H
diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index 6e2e881221c157f842499b13409662ff65670f00..55f8690af2e1574c7b9128581319cb2ab4be0a39 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -374,6 +374,17 @@ void HelpPlugin::createRightPaneSideBar()
 
     m_helpViewerForSideBar = new HelpViewer(m_helpEngine, 0);
     rightPaneLayout->addWidget(m_helpViewerForSideBar);
+    m_core->addContextObject(new Core::BaseContext(m_helpViewerForSideBar, QList<int>()
+        << m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_HELP_SIDEBAR),
+        this));
+
+    QAction *copyActionSideBar = new QAction(this);
+    Core::Command *cmd = m_core->actionManager()->registerAction(copyActionSideBar,
+        Core::Constants::COPY, QList<int>()
+        << m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_HELP_SIDEBAR));
+    connect(copyActionSideBar, SIGNAL(triggered()), this, SLOT(copyFromSideBar()));
+    copyActionSideBar->setText(cmd->action()->text());
+    copyActionSideBar->setIcon(cmd->action()->icon());
 
     m_rightPaneSideBar = new QWidget;
     m_rightPaneSideBar->setLayout(rightPaneLayout);
@@ -381,6 +392,11 @@ void HelpPlugin::createRightPaneSideBar()
     addAutoReleasedObject(new Core::BaseRightPaneWidget(m_rightPaneSideBar));
 }
 
+void HelpPlugin::copyFromSideBar()
+{
+    m_helpViewerForSideBar->copy();
+}
+
 void HelpPlugin::rightPaneBackward()
 {
     m_helpViewerForSideBar->backward();
diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h
index 05ccf9f8fd710a9c0feb64927433937abadbfd1e..d5a5dd9821b9fbfad62872768ee35f027ee0df61 100644
--- a/src/plugins/help/helpplugin.h
+++ b/src/plugins/help/helpplugin.h
@@ -64,10 +64,10 @@ class SideBarItem;
 namespace Help {
 
 namespace Constants {
-    const char * const HELPVIEWER_KIND = "Qt Help Viewer";
-    const char * const C_MODE_HELP     = "Help Mode";
-    const int          P_MODE_HELP     = 70;
-    const char * const ID_MODE_HELP    = "Help";
+    const char * const C_MODE_HELP    = "Help Mode";
+    const char * const C_HELP_SIDEBAR = "Help Sidebar";
+    const int          P_MODE_HELP    = 70;
+    const char * const ID_MODE_HELP   = "Help";
 }
 
 class HELP_EXPORT HelpManager : public QObject
@@ -124,6 +124,7 @@ private slots:
     void switchToHelpMode(const QUrl &source);
     void switchToHelpMode(const QMap<QString, QUrl> &urls, const QString &keyword);
     void slotHideRightPane();
+    void copyFromSideBar();
 
     void openGettingStarted();