* bgp_route.c: Third (?) attempt to fix best selection breakage
	  introduced long time ago with route server patch. Hopefully
	  it's last case to fix - route-server client not in peer group.

	[backport candidate]
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index f717166..29d0fb0 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -1,3 +1,9 @@
+2005-08-26 Hasso Tepper <hasso at quagga.net>
+
+	* bgp_route.c: Third (?) attempt to fix best selection breakage
+	  introduced long time ago with route server patch. Hopefully
+	  it's last case to fix - route-server client not in peer group.
+
 2005-08-22 Hugo Santos <hsantos@av.it.pt>
 
 	* bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 862fd43..14fa86a 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -1286,6 +1286,13 @@
     }
   else
     {
+      if (old_select)
+	UNSET_FLAG (old_select->flags, BGP_INFO_SELECTED);
+      if (new_select)
+	{
+	  SET_FLAG (new_select->flags, BGP_INFO_SELECTED);
+	  UNSET_FLAG (new_select->flags, BGP_INFO_ATTR_CHANGED);
+	}
       bgp_process_announce_selected (rsclient, new_select, rn,
 				     &attr, afi, safi);
     }