diff --git a/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod b/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod
index cf50fd65552bde414fae451161f1312b3621893e..8348563f620395c762f5cf30903b58ef405fc076 100644
--- a/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod
+++ b/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod
@@ -467,8 +467,14 @@ protected void https_proxy_connect_ok(Protocols.HTTP.Query con,
 {
   con->set_callbacks(@orig_cb_info);
 
+  // Install the timeout handler for the interval until
+  // the TLS connection is up.
+  con->init_async_timeout();
   con->con->set_nonblocking(0,
 			    lambda() {
+			      // Remove the timeout handler; it will be
+			      // reinstated by do_async_method() below.
+			      con->remove_async_timeout();
 			      do_async_method(method, url, query_variables,
 					      request_headers, con, data);
 			    }, con->async_failed);