diff -burN naviserver4.99.17b1-x20181029/naviserver/tests/testserver/modules/client.tcl naviserver4.99.17b1-tcl86/naviserver/tests/testserver/modules/client.tcl
--- naviserver4.99.17b1-x20181029/naviserver/tests/testserver/modules/client.tcl	Thu Jun 14 08:22:50 2018
+++ naviserver4.99.17b1-tcl86/naviserver/tests/testserver/modules/client.tcl	Mon Oct 29 17:07:54 2018
@@ -59,7 +59,19 @@
         return [list bytes $bytes more $more received $received]
     }
 
+    proc client_readable {t s} {
+	set n [ns_socknread $s]
+	if {$n == 0} {
+	    set ready [ns_sockselect -timeout $t $s {} {}]
+	    if {[lindex $ready 0] eq {}} {
+		error "client_readable: read timed out"
+	    }
+	    set n [ns_socknread $s]
+	}
+	return $n
+    }
     proc client_receive {s} {
+	    client_readable 1000 $s
         set input [read $s]
         if {$input eq ""} {
             set ::tcltest::forever 0
diff -burN naviserver4.99.17b1-x20181029/naviserver/tests/testserver/modules/testhttp.tcl naviserver4.99.17b1-tcl86/naviserver/tests/testserver/modules/testhttp.tcl
--- naviserver4.99.17b1-x20181029/naviserver/tests/testserver/modules/testhttp.tcl	Thu Jun 14 08:22:50 2018
+++ naviserver4.99.17b1-tcl86/naviserver/tests/testserver/modules/testhttp.tcl	Tue Oct 30 15:08:04 2018
@@ -284,6 +284,7 @@
     }
 
     proc http_gets {timeout sock} {
+		http_readable $timeout $sock
         while {[gets $sock line] == -1} {
             if {[eof $sock]} {
                 return -code error "http_gets: premature end of data"
