--- UserAgent.pm.orig	2004-03-08 12:52:30.000000000 -0500
+++ UserAgent.pm	2004-03-09 11:44:21.000000000 -0500
@@ -59,6 +59,8 @@
 			proxy cookie_jar parse_head max_size max_hosts max_req delay);
 	$kernel->sig(INT => 'sigint');
 	$kernel->sig(BREAK => 'sigint');
+
+	$object->{use_eval} = 1;
 }
 
 sub _pococ_ua_stop
@@ -247,6 +249,16 @@
 		if $debuglevel >= 3;
 	$object -> _pococ_ua_adjust_timeout ($entry);
 	$object -> _perform_write ($socket);
+
+	# deal with error responses handed back as part of _perform_write
+	if(defined($entry->response) and 
+	   (! $entry->response->is_success) and   # error 
+	   ($entry->response->code != 0))         # Ignore empty response
+	{
+	    $object -> on_failure($entry->request, $entry->response, $entry);
+	    $object -> _remove_entry_sockets ($entry);
+	    # CURRENT CONNECTION already removed by perform_write
+	}
 }
 
 sub _pococ_ua_read
