Index: trunk/BNC/src/bncnetqueryv2.cpp
===================================================================
--- trunk/BNC/src/bncnetqueryv2.cpp	(revision 10960)
+++ trunk/BNC/src/bncnetqueryv2.cpp	(revision 10984)
@@ -223,5 +223,9 @@
     timer.setSingleShot(true);
     connect(&timer, SIGNAL(timeout()), _eventLoop, SLOT(quit()));
-    timer.start(_timeOut);
+    // The very first read of a request can take much longer than a
+    // steady-state read: it includes connection setup, TLS handshake and
+    // (on Windows) potentially slow system/WPAD proxy auto-detection. Only
+    // apply the strict outage-detection timeout once the stream is live.
+    timer.start(_firstData ? 5 * _timeOut : _timeOut);
     _eventLoop->exec();
     timedOut = !timer.isActive();
@@ -253,4 +257,5 @@
   else {
     outData.append(_reply->readAll());
+    _firstData = false;
   }
 }
