diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index dce3cf92c61370ffec9d16b48c6fbafd7d6b0513..9c326a50a3eecb22851cc21ecb5f3d3a3e861e5b 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1714,6 +1714,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
 	case BOND_MODE_ALB:
 		new_slave->state = BOND_STATE_ACTIVE;
 		bond_set_slave_inactive_flags(new_slave);
+		bond_select_active_slave(bond);
 		break;
 	default:
 		pr_debug("This slave is always active in trunk mode\n");