diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index e77aba1690f64642432cae707046ce11ba594f4f..975358a30164b94208dfab6381a882575c917f21 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -868,10 +868,10 @@ void HelpPlugin::activateContext()
     if (HelpViewer* viewer = viewerForContextMode()) {
         if (links.isEmpty()) {
             // No link found or no context object
+            viewer->setSource(QUrl(Help::Constants::AboutBlank));
             viewer->setHtml(tr("<html><head><title>No Documentation</title>"
                 "</head><body><br/><center><b>%1</b><br/>No documentation "
                 "available.</center></body></html>").arg(m_idFromContext));
-            viewer->setSource(QUrl());
         } else {
             int version = 0;
             const QRegExp exp("(\\d+)");
diff --git a/src/plugins/help/helpviewer.h b/src/plugins/help/helpviewer.h
index f4debacec9550abc39a9a096ef2b3e9186045ba6..5be60ae6a7dedaf6bda9bd85c78af0c36345c5ec 100644
--- a/src/plugins/help/helpviewer.h
+++ b/src/plugins/help/helpviewer.h
@@ -129,6 +129,9 @@ private slots:
     void actionChanged();
     void slotLoadStarted();
     void slotLoadFinished(bool ok);
+#if !defined(QT_NO_WEBKIT)
+    void slotNetworkReplyFinished(QNetworkReply *reply);
+#endif
 
 private:
     bool eventFilter(QObject *obj, QEvent *event);
diff --git a/src/plugins/help/helpviewer_qwv.cpp b/src/plugins/help/helpviewer_qwv.cpp
index e8f5c91ae2ee206dbfff67b993056ecfd6e444bd..da68a3c1dede8bf91db3861e787e62cb187fa532 100644
--- a/src/plugins/help/helpviewer_qwv.cpp
+++ b/src/plugins/help/helpviewer_qwv.cpp
@@ -239,7 +239,10 @@ HelpViewer::HelpViewer(qreal zoom, QWidget *parent)
     settings()->setAttribute(QWebSettings::PluginsEnabled, false);
 
     setPage(new HelpPage(this));
-    page()->setNetworkAccessManager(new HelpNetworkAccessManager(this));
+    HelpNetworkAccessManager *manager = new HelpNetworkAccessManager(this);
+    page()->setNetworkAccessManager(manager);
+    connect(manager, SIGNAL(finished(QNetworkReply*)), this,
+        SLOT(slotNetworkReplyFinished(QNetworkReply*)));
 
     QAction* action = pageAction(QWebPage::OpenLinkInNewWindow);
     action->setText(tr("Open Link as New Page"));
@@ -433,6 +436,15 @@ void HelpViewer::actionChanged()
         emit forwardAvailable(a->isEnabled());
 }
 
+void HelpViewer::slotNetworkReplyFinished(QNetworkReply *reply)
+{
+    if (reply && reply->error() != QNetworkReply::NoError) {
+        setSource(QUrl(Help::Constants::AboutBlank));
+        setHtml(HelpViewer::PageNotFoundMessage.arg(reply->url().toString()
+            + QString::fromLatin1("<br><br>Error: %1").arg(reply->errorString())));
+    }
+}
+
 // -- private
 
 bool HelpViewer::eventFilter(QObject *obj, QEvent *event)