Index: src/comm_generic.c
===================================================================
RCS file: /cvsroot/squid/squid/src/comm_generic.c,v
retrieving revision 1.3
diff -u -r1.3 comm_generic.c
--- src/comm_generic.c	8 Jun 2006 23:50:56 -0000	1.3
+++ src/comm_generic.c	27 Jun 2006 00:09:13 -0000
@@ -62,7 +62,6 @@
     fde *F = &fd_table[fd];
 
     assert(fd >= 0);
-    assert(F->flags.open);
 
     if (!F->backoff)
 	return;
Index: src/fd.c
===================================================================
RCS file: /cvsroot/squid/squid/src/fd.c,v
retrieving revision 1.16
diff -u -r1.16 fd.c
--- src/fd.c	11 Jun 2006 17:52:05 -0000	1.16
+++ src/fd.c	27 Jun 2006 00:09:14 -0000
@@ -90,6 +90,8 @@
 	assert(F->write_handler == NULL);
     }
     debug(51, 3) ("fd_close FD %d %s\n", fd, F->desc);
+    if (F->backoff)
+	F->backoff=0;
     commSetEvents(fd, 0, 0);
     F->flags.open = 0;
     fdUpdateBiggest(fd, 0);
