diff --git a/src/plugins/help/helpviewer_qtb.cpp b/src/plugins/help/helpviewer_qtb.cpp
index de9974fbd2e7b7098b63cad1ab8ce5de791a30ab..5e1982a8cbe0145711ddb4a9c60bc6b7a2dd3065 100644
--- a/src/plugins/help/helpviewer_qtb.cpp
+++ b/src/plugins/help/helpviewer_qtb.cpp
@@ -144,20 +144,20 @@ QUrl HelpViewer::source() const
 
 void HelpViewer::setSource(const QUrl &url)
 {
-    const QString &scheme = url.scheme();
-    if (scheme != QLatin1String("qthelp") && scheme != QLatin1String("about")) {
-        QTextBrowser::setSource(resolvedUrl);
-        emit loadFinished(true);
-        return;
-    }
-
     const QString &string = url.toString();
     if (url.isValid() && string != QLatin1String("help")) {
         if (launchWithExternalApp(url))
             return;
 
-        const QHelpEngineCore &engine = HelpManager::instance().helpEngineCore();
-        const QUrl &resolvedUrl = engine.findFile(url);
+        QUrl resolvedUrl;
+        if (url.scheme() == QLatin1String("http"))
+            resolvedUrl = url;
+
+        if (!resolvedUrl.isValid()) {
+            const QHelpEngineCore &engine = LocalHelpManager::helpEngine();
+            resolvedUrl = engine.findFile(url);
+        }
+
         if (resolvedUrl.isValid()) {
             QTextBrowser::setSource(resolvedUrl);
             emit loadFinished(true);
diff --git a/src/plugins/help/helpviewer_qwv.cpp b/src/plugins/help/helpviewer_qwv.cpp
index 8c8872edd5fcb9fce64fb64c6d8f9670ca733cc7..c25666f9db8754c6e4e7e9135c6a977e7a261188 100644
--- a/src/plugins/help/helpviewer_qwv.cpp
+++ b/src/plugins/help/helpviewer_qwv.cpp
@@ -124,9 +124,10 @@ HelpNetworkAccessManager::HelpNetworkAccessManager(QObject *parent)
 QNetworkReply *HelpNetworkAccessManager::createRequest(Operation op,
     const QNetworkRequest &request, QIODevice* outgoingData)
 {
-    const QString &scheme = request.url().scheme();
-    if (scheme != QLatin1String("qthelp") && scheme != QLatin1String("about"))
+    if (!HelpViewer::isLocalUrl(request.url())
+        && request.url().scheme() == QLatin1String("http")) {
         return QNetworkAccessManager::createRequest(op, request, outgoingData);
+    }
 
     QString url = request.url().toString();
     const QHelpEngineCore &engine = LocalHelpManager::helpEngine();