* configuration, the ARP probe will (hopefully) travel from
         * the active, through one switch, the router, then the other
         * switch before reaching the backup.
+        *
+        * We 'trust' the arp requests if there is an active slave and
+        * it received valid arp reply(s) after it became active. This
+        * is done to avoid endless looping when we can't reach the
+        * arp_ip_target and fool ourselves with our own arp requests.
         */
        if (bond_is_active_slave(slave))
                bond_validate_arp(bond, slave, sip, tip);
-       else
+       else if (bond->curr_active_slave &&
+                time_after(slave_last_rx(bond, bond->curr_active_slave),
+                           bond->curr_active_slave->jiffies))
                bond_validate_arp(bond, slave, tip, sip);
 
 out_unlock: