diff -up tcl8.5.6/library/http/http.tcl.old tcl8.5.6/library/http/http.tcl --- tcl8.5.6/library/http/http.tcl.old 2008-10-24 01:34:32.000000000 +0200 +++ tcl8.5.6/library/http/http.tcl 2009-03-31 09:19:44.000000000 +0200 @@ -946,6 +946,8 @@ proc http::Event {sock token} { set state(state) "header" if {[catch {gets $sock state(http)} n]} { return [Finish $token $n] + } elseif {$n >= 0} { + set state(state) "header" } } elseif {$state(state) eq "header"} { if {[catch {gets $sock line} n]} {