diff -urpN mp-devel-clean/multipathd/main.c mp-devel-patched/multipathd/main.c --- mp-devel-clean/multipathd/main.c 2006-02-15 15:26:13.000000000 -0600 +++ mp-devel-patched/multipathd/main.c 2006-02-15 17:48:56.000000000 -0600 @@ -1265,7 +1265,8 @@ checkerloop (void *ap) pathinfo(pp, conf->hwtable, DI_PRIO); if (need_switch_pathgroup(pp->mpp, 0)) { - if (pp->mpp->pgfailback > 0) + if (pp->mpp->pgfailback > 0 && + pp->mpp->failback_tick <= 0) pp->mpp->failback_tick = pp->mpp->pgfailback + 1; else if (pp->mpp->pgfailback ==