diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index 2294f89..c33562d 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -1,3 +1,13 @@
+2006-10-14 Paul Jakma <paul.jakma@sun.com>
+
+	* bgp_fsm.h: Remove BGP_EVENT_FLUSH_ADD, dangerous and not
+	  needed.
+	* bgp_fsm.c: (bgp_stop) Move BGP_EVENT_FLUSH to the top of the
+	  of the function, otherwise it could flush a ClearingCompleted
+          event, bug #302.
+	* bgp_packet.c: Replace all BGP_EVENT_FLUSH_ADD with
+	  BGP_EVENT_ADD, fixing bug #302.
+
 2006-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* bgpd.c: (peer_uptime) Fix printf format/arg mismatch in
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index cc2b2c3..ef8dfea 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -428,6 +428,9 @@
   safi_t safi;
   char orf_name[BUFSIZ];
 
+  /* Delete all existing events of the peer */
+  BGP_EVENT_FLUSH (peer);
+
   /* Increment Dropped count. */
   if (peer->status == Established)
     {
@@ -499,9 +502,6 @@
   BGP_TIMER_OFF (peer->t_asorig);
   BGP_TIMER_OFF (peer->t_routeadv);
 
-  /* Delete all existing events of the peer */
-  BGP_EVENT_FLUSH (peer);
-  
   /* Stream reset. */
   peer->packet_size = 0;
 
diff --git a/bgpd/bgp_fsm.h b/bgpd/bgp_fsm.h
index c51bed3..a749f8e 100644
--- a/bgpd/bgp_fsm.h
+++ b/bgpd/bgp_fsm.h
@@ -71,12 +71,6 @@
     thread_cancel_event (master, (P)); 		\
   } while (0)
 
-#define BGP_EVENT_FLUSH_ADD(P,E)	\
-  do {					\
-    BGP_EVENT_FLUSH(P);			\
-    BGP_EVENT_ADD(P,E);			\
-  } while (0)
-
 /* Prototypes. */
 extern int bgp_event (struct thread *);
 extern int bgp_stop (struct peer *peer);
diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
index da59d32..cf6d00f 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -637,7 +637,7 @@
 	  if (write_errno == EWOULDBLOCK || write_errno == EAGAIN)
 	      break;
 
-	  BGP_EVENT_FLUSH_ADD (peer, TCP_fatal_error);
+	  BGP_EVENT_ADD (peer, TCP_fatal_error);
 	  return 0;
 	}
       if (num != writenum)
@@ -672,7 +672,7 @@
 	    peer->v_start = (60 * 2);
 
 	  /* Flush any existing events */
-	  BGP_EVENT_FLUSH_ADD (peer, BGP_Stop);
+	  BGP_EVENT_ADD (peer, BGP_Stop);
 	  return 0;
 	case BGP_MSG_KEEPALIVE:
 	  peer->keepalive_out++;
@@ -717,7 +717,7 @@
   ret = writen (peer->fd, STREAM_DATA (s), stream_get_endp (s));
   if (ret <= 0)
     {
-      BGP_EVENT_FLUSH_ADD (peer, TCP_fatal_error);
+      BGP_EVENT_ADD (peer, TCP_fatal_error);
       return 0;
     }
 
@@ -737,7 +737,7 @@
   if (peer->v_start >= (60 * 2))
     peer->v_start = (60 * 2);
 
-  BGP_EVENT_FLUSH_ADD (peer, BGP_Stop);
+  BGP_EVENT_ADD (peer, BGP_Stop);
 
   return 0;
 }
