Index: src/sas/qtgui/Calculators/DataOperationUtilityPanel.py
===================================================================
--- src/sas/qtgui/Calculators/DataOperationUtilityPanel.py	(revision d6b8a1dfaf6521ae4a9054d5195def2810d6d8bc)
+++ src/sas/qtgui/Calculators/DataOperationUtilityPanel.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -110,13 +110,6 @@
         documentation tree (after /doc/ ....".
         """
-        try:
-            location = GuiUtils.HELP_DIRECTORY_LOCATION + \
-                       "/user/sasgui/perspectives/calculator/data_operator_help.html"
-            self.manager._helpView.load(QtCore.QUrl(location))
-            self.manager._helpView.show()
-
-        except AttributeError:
-            # No manager defined - testing and standalone runs
-            pass
+        location = "/user/sasgui/perspectives/calculator/data_operator_help.html"
+        self.manager.showHelp(location)
 
     def onClose(self):
Index: src/sas/qtgui/Calculators/DensityPanel.py
===================================================================
--- src/sas/qtgui/Calculators/DensityPanel.py	(revision d4881f6af1db66e68fbbc5d7b5c67fc1f7bc1ea7)
+++ src/sas/qtgui/Calculators/DensityPanel.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -146,11 +146,6 @@
 
     def displayHelp(self):
-        try:
-            location = HELP_DIRECTORY_LOCATION + \
-                "/user/sasgui/perspectives/calculator/density_calculator_help.html"
+        location =  "/user/sasgui/perspectives/calculator/density_calculator_help.html"
+        self.manager.showHelp(location)
 
-            self.manager._helpView.load(QtCore.QUrl(location))
-            self.manager._helpView.show()
-        except AttributeError:
-            # No manager defined - testing and standalone runs
-            pass
+
Index: src/sas/qtgui/Calculators/GenericScatteringCalculator.py
===================================================================
--- src/sas/qtgui/Calculators/GenericScatteringCalculator.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/GenericScatteringCalculator.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -382,12 +382,6 @@
         documentation tree (after /doc/ ....".
         """
-        try:
-            location = GuiUtils.HELP_DIRECTORY_LOCATION + \
-                       "/user/sasgui/perspectives/calculator/sas_calculator_help.html"
-            self.manager._helpView.load(QtCore.QUrl(location))
-            self.manager._helpView.show()
-        except AttributeError:
-            # No manager defined - testing and standalone runs
-            pass
+        location = "/user/sasgui/perspectives/calculator/sas_calculator_help.html"
+        self.manager.showHelp(location)
 
     def onReset(self):
Index: src/sas/qtgui/Calculators/KiessigPanel.py
===================================================================
--- src/sas/qtgui/Calculators/KiessigPanel.py	(revision fbfc488f82ca4192217ad32b69f00fc4a4e137ab)
+++ src/sas/qtgui/Calculators/KiessigPanel.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -38,13 +38,6 @@
         documentation tree (after /doc/ ....".
         """
-        try:
-            location = GuiUtils.HELP_DIRECTORY_LOCATION + \
-                "/user/sasgui/perspectives/calculator/kiessig_calculator_help.html"
-
-            self.manager._helpView.load(QtCore.QUrl(location))
-            self.manager._helpView.show()
-        except AttributeError:
-            # No manager defined - testing and standalone runs
-            pass
+        location = "/user/sasgui/perspectives/calculator/kiessig_calculator_help.html"
+        self.manager.showHelp(location)
 
     def onCompute(self):
Index: src/sas/qtgui/Calculators/ResolutionCalculatorPanel.py
===================================================================
--- src/sas/qtgui/Calculators/ResolutionCalculatorPanel.py	(revision d6b8a1dfaf6521ae4a9054d5195def2810d6d8bc)
+++ src/sas/qtgui/Calculators/ResolutionCalculatorPanel.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -366,13 +366,6 @@
         documentation tree (after /doc/ ....".
         """
-        try:
-            location = GuiUtils.HELP_DIRECTORY_LOCATION + \
-                       "/user/sasgui/perspectives/calculator/resolution_calculator_help.html"
-            self.manager._helpView.load(QtCore.QUrl(location))
-            self.manager._helpView.show()
-
-        except AttributeError:
-            # No manager defined - testing and standalone runs
-            pass
+        location = "/user/sasgui/perspectives/calculator/resolution_calculator_help.html"
+        self.manager.showHelp(location)
 
     def onReset(self):
Index: src/sas/qtgui/Calculators/SldPanel.py
===================================================================
--- src/sas/qtgui/Calculators/SldPanel.py	(revision d4881f6af1db66e68fbbc5d7b5c67fc1f7bc1ea7)
+++ src/sas/qtgui/Calculators/SldPanel.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -213,11 +213,6 @@
 
     def displayHelp(self):
-        try:
-            location = GuiUtils.HELP_DIRECTORY_LOCATION + \
-                "/user/sasgui/perspectives/calculator/sld_calculator_help.html"
-            self.manager._helpView.load(QtCore.QUrl(location))
-            self.manager._helpView.show()
-        except AttributeError:
-            # No manager defined - testing and standalone runs
-            pass
-
+        location = "/user/sasgui/perspectives/calculator/sld_calculator_help.html"
+        self.manager.showHelp(location)
+
+
Index: src/sas/qtgui/Calculators/SlitSizeCalculator.py
===================================================================
--- src/sas/qtgui/Calculators/SlitSizeCalculator.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/SlitSizeCalculator.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -47,13 +47,6 @@
         documentation tree (after /doc/ ....".
         """
-        try:
-            location = GuiUtils.HELP_DIRECTORY_LOCATION + \
-                "/user/sasgui/perspectives/calculator/slit_calculator_help.html"
-
-            self._parent._helpView.load(QtCore.QUrl(location))
-            self._parent._helpView.show()
-        except AttributeError:
-            # No manager defined - testing and standalone runs
-            pass
+        location = "/user/sasgui/perspectives/calculator/slit_calculator_help.html"
+        self._parent.showHelp(location)
 
     def onBrowse(self):
Index: src/sas/qtgui/Calculators/UnitTesting/DataOperationUtilityTest.py
===================================================================
--- src/sas/qtgui/Calculators/UnitTesting/DataOperationUtilityTest.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/UnitTesting/DataOperationUtilityTest.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -4,4 +4,6 @@
 import logging
 import unittest
+import webbrowser
+
 from PyQt5 import QtGui, QtWidgets
 from PyQt5 import QtCore
@@ -119,6 +121,9 @@
     def testHelp(self):
         """ Assure help file is shown """
-        # this should not rise
+        self.widget.manager.showHelp = MagicMock()
         self.widget.onHelp()
+        self.assertTrue(self.widget.manager.showHelp.called_once())
+        args = self.widget.manager.showHelp.call_args
+        self.assertIn('data_operator_help.html', args[0][0])
 
     def testOnReset(self):
Index: src/sas/qtgui/Calculators/UnitTesting/DensityCalculatorTest.py
===================================================================
--- src/sas/qtgui/Calculators/UnitTesting/DensityCalculatorTest.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/UnitTesting/DensityCalculatorTest.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -121,7 +121,10 @@
     def testHelp(self):
         """ Assure help file is shown """
-
-        # this should not rise
+        self.widget.manager = QtWidgets.QWidget()
+        self.widget.manager.showHelp = MagicMock()
         self.widget.displayHelp()
+        self.assertTrue(self.widget.manager.showHelp.called_once())
+        args = self.widget.manager.showHelp.call_args
+        self.assertIn('density_calculator_help.html', args[0][0])
 
 if __name__ == "__main__":
Index: src/sas/qtgui/Calculators/UnitTesting/GenericScatteringCalculatorTest.py
===================================================================
--- src/sas/qtgui/Calculators/UnitTesting/GenericScatteringCalculatorTest.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/UnitTesting/GenericScatteringCalculatorTest.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -104,5 +104,9 @@
     def testHelpButton(self):
         """ Assure help file is shown """
+        self.widget.manager.showHelp = MagicMock()
         self.widget.onHelp()
+        self.assertTrue(self.widget.manager.showHelp.called_once())
+        args = self.widget.manager.showHelp.call_args
+        self.assertIn('sas_calculator_help.html', args[0][0])
 
     def testValidator(self):
Index: src/sas/qtgui/Calculators/UnitTesting/KiessigCalculatorTest.py
===================================================================
--- src/sas/qtgui/Calculators/UnitTesting/KiessigCalculatorTest.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/UnitTesting/KiessigCalculatorTest.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -5,8 +5,6 @@
 from PyQt5.QtCore import Qt
 
-# TEMP
-#import sas.qtgui.path_prepare
 import path_prepare
-
+from unittest.mock import MagicMock
 
 from sas.qtgui.Calculators.KiessigPanel import KiessigPanel
@@ -35,7 +33,10 @@
     def testHelp(self):
         """ Assure help file is shown """
-
-        # this should not rise
+        self.widget.manager = QtWidgets.QWidget()
+        self.widget.manager.showHelp = MagicMock()
         self.widget.onHelp()
+        self.assertTrue(self.widget.manager.showHelp.called_once())
+        args = self.widget.manager.showHelp.call_args
+        self.assertIn('kiessig_calculator_help.html', args[0][0])
 
     def testComplexEntryNumbers(self):
Index: src/sas/qtgui/Calculators/UnitTesting/ResolutionCalculatorPanelTest.py
===================================================================
--- src/sas/qtgui/Calculators/UnitTesting/ResolutionCalculatorPanelTest.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/UnitTesting/ResolutionCalculatorPanelTest.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -240,5 +240,10 @@
         """ Assure help file is shown """
         # this should not rise
+        self.widget.manager = QtWidgets.QWidget()
+        self.widget.manager.showHelp = MagicMock()
         self.widget.onHelp()
+        self.assertTrue(self.widget.manager.showHelp.called_once())
+        args = self.widget.manager.showHelp.call_args
+        self.assertIn('resolution_calculator_help.html', args[0][0])
 
     def testOnReset(self):
Index: src/sas/qtgui/Calculators/UnitTesting/SLDCalculatorTest.py
===================================================================
--- src/sas/qtgui/Calculators/UnitTesting/SLDCalculatorTest.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/UnitTesting/SLDCalculatorTest.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -142,7 +142,10 @@
     def testHelp(self):
         """ Assure help file is shown """
-
-        # this should not rise
+        self.widget.manager = QtWidgets.QWidget()
+        self.widget.manager.showHelp = MagicMock()
         self.widget.displayHelp()
+        self.assertTrue(self.widget.manager.showHelp.called_once())
+        args = self.widget.manager.showHelp.call_args
+        self.assertIn('sld_calculator_help.html', args[0][0])
 
 if __name__ == "__main__":
Index: src/sas/qtgui/Calculators/UnitTesting/SlitSizeCalculatorTest.py
===================================================================
--- src/sas/qtgui/Calculators/UnitTesting/SlitSizeCalculatorTest.py	(revision 53c771ed573b1c8716ecc969b54a1d617a4cb931)
+++ src/sas/qtgui/Calculators/UnitTesting/SlitSizeCalculatorTest.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -37,7 +37,10 @@
     def testHelp(self):
         """ Assure help file is shown """
-
-        # this should not rise
+        self.widget._parent = QtWidgets.QWidget()
+        self.widget._parent.showHelp = MagicMock()
         self.widget.onHelp()
+        self.assertTrue(self.widget._parent.showHelp.called_once())
+        args = self.widget._parent.showHelp.call_args
+        self.assertIn('slit_calculator_help.html', args[0][0])
 
     def testBrowseButton(self):
Index: src/sas/qtgui/MainWindow/DataExplorer.py
===================================================================
--- src/sas/qtgui/MainWindow/DataExplorer.py	(revision cb4d21923d5112d84638455162621f5823dd13c5)
+++ src/sas/qtgui/MainWindow/DataExplorer.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -8,5 +8,4 @@
 from PyQt5 import QtGui
 from PyQt5 import QtWidgets
-from PyQt5 import QtWebKitWidgets
 
 from twisted.internet import threads
@@ -70,7 +69,4 @@
         self.cmdHelp_2.clicked.connect(self.displayHelp)
 
-        # Display HTML content
-        self._helpView = QtWebKitWidgets.QWebView()
-
         # Fill in the perspectives combo
         self.initPerspectives()
@@ -141,8 +137,6 @@
         Show the "Loading data" section of help
         """
-        tree_location = GuiUtils.HELP_DIRECTORY_LOCATION +\
-            "/user/sasgui/guiframe/data_explorer_help.html"
-        self._helpView.load(QtCore.QUrl(tree_location))
-        self._helpView.show()
+        tree_location = "/user/sasgui/guiframe/data_explorer_help.html"
+        self.parent.showHelp(tree_location)
 
     def enableGraphCombo(self, combo_text):
Index: src/sas/qtgui/MainWindow/GuiManager.py
===================================================================
--- src/sas/qtgui/MainWindow/GuiManager.py	(revision 8353d908545a5d1d1ac66b2e075d0ec49b5a7cc2)
+++ src/sas/qtgui/MainWindow/GuiManager.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -87,6 +87,4 @@
         self.statusBarSetup()
 
-        # Current help file
-        self._helpView = QWebView()
         # Needs URL like path, so no path.join() here
         self._helpLocation = GuiUtils.HELP_DIRECTORY_LOCATION + "/index.html"
@@ -164,4 +162,14 @@
         """
         pass
+
+    def showHelp(self, url):
+        """
+        Open a local url in the default browser
+        """
+        location = GuiUtils.HELP_DIRECTORY_LOCATION + url
+        try:
+            webbrowser.open('file://' + os.path.realpath(location))
+        except webbrowser.Error as ex:
+            logging.warning("Cannot display help. %s" % ex)
 
     def workspace(self):
@@ -718,6 +726,5 @@
         TODO: use QNetworkAccessManager to assure _helpLocation is valid
         """
-        self._helpView.load(QUrl(self._helpLocation))
-        self._helpView.show()
+        self.showHelp(self._helpLocation)
 
     def actionTutorial(self):
Index: src/sas/qtgui/Perspectives/Corfunc/CorfuncPerspective.py
===================================================================
--- src/sas/qtgui/Perspectives/Corfunc/CorfuncPerspective.py	(revision 50bfab0745a9a59df918aa1ba6a00bf46be39c11)
+++ src/sas/qtgui/Perspectives/Corfunc/CorfuncPerspective.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -5,4 +5,9 @@
 
 # global
+from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg \
+    as FigureCanvas
+from matplotlib.figure import Figure
+from numpy.linalg.linalg import LinAlgError
+
 from PyQt5 import QtCore
 from PyQt5 import QtGui, QtWidgets
@@ -17,9 +22,4 @@
 from .UI.CorfuncPanel import Ui_CorfuncDialog
 from .CorfuncUtils import WIDGETS as W
-
-from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg \
-    as FigureCanvas
-from matplotlib.figure import Figure
-from numpy.linalg.linalg import LinAlgError
 
 
@@ -136,4 +136,5 @@
         self.cmdCalculateBg.clicked.connect(self.calculate_background)
         self.cmdCalculateBg.setEnabled(False)
+        self.cmdHelp.clicked.connect(self.showHelp)
 
         self.model.itemChanged.connect(self.model_changed)
@@ -306,4 +307,12 @@
 
     # pylint: disable=invalid-name
+    def showHelp(self):
+        """
+        Opens a webpage with help on the perspective
+        """
+        """ Display help when clicking on Help button """
+        treeLocation = "/user/sasgui/perspectives/corfunc/corfunc_help.html"
+        self.parent.showHelp(treeLocation)
+
     @staticmethod
     def allowBatch():
Index: src/sas/qtgui/Perspectives/Fitting/FittingOptions.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingOptions.py	(revision d6b8a1dfaf6521ae4a9054d5195def2810d6d8bc)
+++ src/sas/qtgui/Perspectives/Fitting/FittingOptions.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -3,9 +3,9 @@
 import os
 import types
+import webbrowser
 
 from PyQt5 import QtCore
 from PyQt5 import QtGui
 from PyQt5 import QtWidgets
-from PyQt5 import QtWebKitWidgets
 
 from sas.qtgui.UI import images_rc
@@ -73,7 +73,4 @@
         # OK has to be initialized to True, after initial validator setup
         self.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).setEnabled(True)
-
-        # Display HTML content
-        self.helpView = QtWebKitWidgets.QWebView()
 
     def assignValidators(self):
@@ -160,5 +157,6 @@
         Show the "Fitting options" section of help
         """
-        tree_location = GuiUtils.HELP_DIRECTORY_LOCATION + "/user/sasgui/perspectives/fitting/"
+        tree_location = GuiUtils.HELP_DIRECTORY_LOCATION
+        tree_location += "/user/sasgui/perspectives/fitting/"
 
         # Actual file anchor will depend on the combo box index
@@ -167,6 +165,5 @@
         helpfile = "optimizer.html#fit-" + self.current_fitter_id 
         help_location = tree_location + helpfile
-        self.helpView.load(QtCore.QUrl(help_location))
-        self.helpView.show()
+        webbrowser.open('file://' + os.path.realpath(help_location))
 
     def widgetFromOption(self, option_id, current_fitter=None):
Index: src/sas/qtgui/Perspectives/Fitting/FittingPerspective.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingPerspective.py	(revision 7c487846c7ed6f3baee2597fb61629d47eb38267)
+++ src/sas/qtgui/Perspectives/Fitting/FittingPerspective.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -13,5 +13,4 @@
 from sas.qtgui.Perspectives.Fitting.FittingOptions import FittingOptions
 from sas.qtgui.Perspectives.Fitting.GPUOptions import GPUOptions
-#from sas.qtgui.Perspectives.Fitting import ModelUtilities
 
 class FittingWindow(QtWidgets.QTabWidget):
Index: src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision 0261bc13615593f5eb2e08941252c044b8bb2e3b)
+++ src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -8,13 +8,9 @@
 from twisted.internet import threads
 import numpy as np
+import webbrowser
 
 from PyQt5 import QtCore
 from PyQt5 import QtGui
 from PyQt5 import QtWidgets
-from PyQt5 import QtWebKitWidgets
-# Officially QtWebEngineWidgets are the way to display HTML in Qt5,
-# but this module isn't ported to PyQt5 yet...
-# let's wait. In the meantime no Help.
-#from PyQt5 import QtWebEngineWidgets
 
 from sasmodels import product
@@ -127,5 +123,5 @@
 
         # Display HTML content
-        self.helpView = QtWebKitWidgets.QWebView()
+        #self.setupHelp()
 
         # New font to display angstrom symbol
@@ -662,5 +658,5 @@
         Show the "Fitting" section of help
         """
-        tree_location = GuiUtils.HELP_DIRECTORY_LOCATION + "/user/sasgui/perspectives/fitting/"
+        tree_location = "/user/sasgui/perspectives/fitting/"
 
         # Actual file will depend on the current tab
@@ -672,14 +668,18 @@
             helpfile = "residuals_help.html"
         elif tab_id == 2:
-            helpfile = "sm_help.html"
+            helpfile = "resolution.html"
         elif tab_id == 3:
-            helpfile = "pd_help.html"
+            helpfile = "pd/polydispersity.html"
         elif tab_id == 4:
-            helpfile = "mag_help.html"
+            helpfile = "magnetism/magnetism.html"
         help_location = tree_location + helpfile
 
-        content = QtCore.QUrl(help_location)
-        self.helpView.load(QtCore.QUrl(help_location))
-        self.helpView.show()
+        self.showHelp(help_location)
+
+    def showHelp(self, url):
+        """
+        Calls parent's method for opening an HTML page
+        """
+        self.parent.showHelp(url)
 
     def onDisplayMagneticAngles(self):
Index: src/sas/qtgui/Perspectives/Fitting/GPUOptions.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/GPUOptions.py	(revision c7ebb37af189fa994e4687c90e9cbf6ea3008ed3)
+++ src/sas/qtgui/Perspectives/Fitting/GPUOptions.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -8,5 +8,5 @@
 
 import sas.qtgui.Utilities.GuiUtils as GuiUtils
-from PyQt5 import QtGui, QtCore, QtWebKit, QtWidgets
+from PyQt5 import QtGui, QtCore, QtWidgets
 from sas.qtgui.Perspectives.Fitting.UI.GPUOptionsUI import Ui_GPUOptions
 from sas.qtgui.Perspectives.Fitting.UI.GPUTestResultsUI import Ui_GPUTestResults
@@ -172,5 +172,5 @@
         help_location += "/user/sasgui/perspectives/fitting/gpu_setup.html"
         help_location += "#device-selection"
-        # Test the system browser solution
+        # Display the page in default browser
         webbrowser.open('file://' + os.path.realpath(help_location))
 
Index: src/sas/qtgui/Perspectives/Invariant/InvariantPerspective.py
===================================================================
--- src/sas/qtgui/Perspectives/Invariant/InvariantPerspective.py	(revision 9387fe3e8e045862e6497347890b1f637e123a1b)
+++ src/sas/qtgui/Perspectives/Invariant/InvariantPerspective.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -8,5 +8,4 @@
 from PyQt5 import QtCore
 from PyQt5 import QtGui, QtWidgets
-from PyQt5 import QtWebKit
 
 from twisted.internet import threads
@@ -63,5 +62,4 @@
         self._model_item = QtGui.QStandardItem()
 
-        #self._helpView = QtWebKit.QWebView()
         self.detailsDialog = DetailsDialog(self)
         self.detailsDialog.cmdOK.clicked.connect(self.enabling)
@@ -431,7 +429,6 @@
     def onHelp(self):
         """ Display help when clicking on Help button """
-        treeLocation = GuiUtils.HELP_DIRECTORY_LOCATION + \
-            "/user/sasgui/perspectives/invariant/invariant_help.html"
-        webbrowser.open('file://' + treeLocation)
+        treeLocation = "/user/sasgui/perspectives/invariant/invariant_help.html"
+        self.parent.showHelp(treeLocation)
 
     def setupSlots(self):
Index: src/sas/qtgui/Perspectives/Inversion/InversionPerspective.py
===================================================================
--- src/sas/qtgui/Perspectives/Inversion/InversionPerspective.py	(revision 50bfab0745a9a59df918aa1ba6a00bf46be39c11)
+++ src/sas/qtgui/Perspectives/Inversion/InversionPerspective.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -51,6 +51,4 @@
         self._manager = parent
         self._model_item = QtGui.QStandardItem()
-        #self._helpView = QtWebKit.QWebView()
-
         self.communicate = GuiUtils.Communicate()
 
@@ -374,12 +372,10 @@
         Open the P(r) Inversion help browser
         """
-        tree_location = (GuiUtils.HELP_DIRECTORY_LOCATION +
-                         "user/sasgui/perspectives/pr/pr_help.html")
+        tree_location = "/user/sasgui/perspectives/pr/pr_help.html"
 
         # Actual file anchor will depend on the combo box index
         # Note that we can be clusmy here, since bad current_fitter_id
         # will just make the page displayed from the top
-        #self._helpView.load(QtCore.QUrl(tree_location))
-        #self._helpView.show()
+        self._manager.showHelp(tree_location)
 
     def toggleBgd(self):
Index: src/sas/qtgui/Plotting/SlicerParameters.py
===================================================================
--- src/sas/qtgui/Plotting/SlicerParameters.py	(revision d6b8a1dfaf6521ae4a9054d5195def2810d6d8bc)
+++ src/sas/qtgui/Plotting/SlicerParameters.py	(revision e90988cd3c71ed989b47df2bed55bcd11e7733ce)
@@ -7,5 +7,4 @@
 from PyQt5 import QtGui
 from PyQt5 import QtWidgets
-from PyQt5 import QtWebKitWidgets
 
 import sas.qtgui.Utilities.GuiUtils as GuiUtils
@@ -87,9 +86,6 @@
         Display generic data averaging help
         """
-        location = "docs/sphinx-docs/build/html" + \
-            "/user/sasgui/guiframe/graph_help.html#d-data-averaging"
-        self.helpView = QtWebKitWidgets.QWebView()
-        self.helpView.load(QtCore.QUrl(location))
-        self.helpView.show()
+        location = "/user/sasgui/guiframe/graph_help.html#d-data-averaging"
+        self.parent.showHelp(location)
 
 
