diff --git a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/pqHelpWindow.h b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/pqHelpWindow.h
index 064fc415a3faa8218334f7186a0b05129b525fec..f7cf098c0bbb086b689793b39d1c6126ee71154f 100644
--- a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/pqHelpWindow.h
+++ b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/pqHelpWindow.h
@@ -62,6 +62,7 @@ public slots:
   /// shows that page.
   virtual void showHomePage(const QString &namespace_name);
   virtual void showHomePage();
+  virtual void printPage();
 
 signals:
   /// fired to relay warning messages from the help system.
diff --git a/MantidQt/MantidWidgets/src/pqHelpWindow.cxx b/MantidQt/MantidWidgets/src/pqHelpWindow.cxx
index 9722259573c477150da52de0aa5e4c071a00fd39..b4f07dc82a2ddf955b55f75405127805509a51b8 100644
--- a/MantidQt/MantidWidgets/src/pqHelpWindow.cxx
+++ b/MantidQt/MantidWidgets/src/pqHelpWindow.cxx
@@ -42,6 +42,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <QNetworkProxy>
 #include <QNetworkReply>
 #include <QPointer>
+#include <QPrinter>
+#include <QPrintDialog>
 #include <QPushButton>
 #include <QTextBrowser>
 #include <QTextStream>
@@ -196,6 +198,7 @@ pqHelpWindow::pqHelpWindow(
   // add a navigation toolbar
   QToolBar *navigation = new QToolBar("Navigation");
   QPushButton *home = new QPushButton("Home");
+  QPushButton *print = new QPushButton("Print");
 
   m_forward = new QToolButton();
   m_forward->setArrowType(Qt::RightArrow);
@@ -210,6 +213,7 @@ pqHelpWindow::pqHelpWindow(
   m_backward->setAutoRaise(true);
 
   navigation->addWidget(home);
+  navigation->addWidget(print);
   navigation->addWidget(m_backward);
   navigation->addWidget(m_forward);
   navigation->setAllowedAreas(Qt::TopToolBarArea | Qt::RightToolBarArea);
@@ -258,6 +262,7 @@ pqHelpWindow::pqHelpWindow(
 
   // connect the navigation buttons
   connect(home, SIGNAL(clicked()), this, SLOT(showHomePage()));
+  connect(print, SIGNAL(clicked()), this, SLOT(printPage()));
   connect(m_forward,  SIGNAL(clicked()), m_browser, SLOT(forward()));
   connect(m_backward, SIGNAL(clicked()), m_browser, SLOT(back()));
   connect(m_forward,  SIGNAL(clicked()), this, SLOT(updateNavButtons()));
@@ -319,6 +324,17 @@ void pqHelpWindow::showPage(const QUrl& url)
   }
 }
 
+//-----------------------------------------------------------------------------
+void pqHelpWindow::printPage()
+{
+   QPrinter printer;
+   QPrintDialog *dialog = new QPrintDialog(&printer, this);
+   dialog->setWindowTitle(tr("Print Document"));
+   if (dialog->exec() != QDialog::Accepted)
+       return;
+   m_browser->print(&printer);
+}
+
 //-----------------------------------------------------------------------------
 void pqHelpWindow::updateNavButtons()
 {