--- linux-2.6.9/drivers/net/bonding/bond_main.c.orig	2006-08-28 12:09:37.000000000 -0700
+++ linux-2.6.9/drivers/net/bonding/bond_main.c	2006-08-28 12:10:09.000000000 -0700
@@ -1948,6 +1948,7 @@
 		 * this interface's flag.
 		 */
 		if (((!bond->curr_active_slave) ||
+                     (bond->primary_slave == new_slave) ||
 		     (bond->curr_active_slave->dev->priv_flags & IFF_SLAVE_INACTIVE)) &&
 		    (new_slave->link != BOND_LINK_DOWN)) {
 			dprintk("This is the first active slave\n");
