diff --git a/src/plugins/help/helpviewer_qwv.cpp b/src/plugins/help/helpviewer_qwv.cpp
index 9f0d4cbf0eca5f681d9e22fef1ed7cd9392c5e3d..a8d1cca8eba7fe8d7f0875ca393a3fc7d81b0df1 100644
--- a/src/plugins/help/helpviewer_qwv.cpp
+++ b/src/plugins/help/helpviewer_qwv.cpp
@@ -91,6 +91,7 @@ HelpNetworkReply::HelpNetworkReply(const QNetworkRequest &request,
     setHeader(QNetworkRequest::ContentLengthHeader, QByteArray::number(dataLength));
     QTimer::singleShot(0, this, SIGNAL(metaDataChanged()));
     QTimer::singleShot(0, this, SIGNAL(readyRead()));
+    QTimer::singleShot(0, this, SIGNAL(finished()));
 }
 
 qint64 HelpNetworkReply::readData(char *buffer, qint64 maxlen)
@@ -100,8 +101,6 @@ qint64 HelpNetworkReply::readData(char *buffer, qint64 maxlen)
         qMemCopy(buffer, data.constData(), len);
         data.remove(0, len);
     }
-    if (!data.length())
-        QTimer::singleShot(0, this, SIGNAL(finished()));
     return len;
 }