diff --git a/src/shared/help/helpviewer.cpp b/src/shared/help/helpviewer.cpp
index ef8a9cd28a02f31dce9244d518af7e50158c30c7..aae50b2ec99fdc6a98239ae92db12a39b97a1473 100644
--- a/src/shared/help/helpviewer.cpp
+++ b/src/shared/help/helpviewer.cpp
@@ -572,6 +572,14 @@ bool HelpViewer::handleForwardBackwardMouseButtons(QMouseEvent *e)
     return false;
 }
 
+void HelpViewer::mousePressEvent(QMouseEvent *e)
+{
+#ifdef Q_OS_LINUX
+    if (handleForwardBackwardMouseButtons(e))
+        return;
+#endif
+}
+
 void HelpViewer::mouseReleaseEvent(QMouseEvent *e)
 {
 #ifndef Q_OS_LINUX
@@ -591,11 +599,6 @@ void HelpViewer::mouseReleaseEvent(QMouseEvent *e)
 
 void HelpViewer::keyPressEvent(QKeyEvent *e)
 {
-#ifdef Q_OS_LINUX
-    if (handleForwardBackwardMouseButtons(e))
-        return;
-#endif
-
     if ((e->key() == Qt::Key_Home && e->modifiers() != Qt::NoModifier)
         || (e->key() == Qt::Key_End && e->modifiers() != Qt::NoModifier)) {
         QKeyEvent* event = new QKeyEvent(e->type(), e->key(), Qt::NoModifier,
diff --git a/src/shared/help/helpviewer.h b/src/shared/help/helpviewer.h
index f5badef6a2e7c5edb489370f107b383c23e4cc93..32ad060d2761d96138f9a4865cd48056dda51972 100644
--- a/src/shared/help/helpviewer.h
+++ b/src/shared/help/helpviewer.h
@@ -158,6 +158,7 @@ private:
     void openLinkInNewTab(const QString &link);
     bool hasAnchorAt(const QPoint& pos);
     void contextMenuEvent(QContextMenuEvent *e);
+    void mousePressEvent(QMouseEvent *e);
     void mouseReleaseEvent(QMouseEvent *e);
     void keyPressEvent(QKeyEvent *e);