This study addresses multi-stage hybrid flow shop scheduling in which a job is reworked if the queue time between two arbitrary stages exceeds an upper limit. The problem is to determine the allocations of jobs to machines at each stage and the start times of jobs and rework setups/operations when incurred. A mixed integer programming model is proposed for each of the makespan and the total tardiness measures. Then, because the problem is NP-hard, a scheduling mechanism is proposed that consists of three phases: (a) filtering the jobs to be delayed; (b) searching the jobs to be reworked; and (c) dispatching non-delayed and delayed jobs sequentially. Simulation results show that the mechanism proposed in this study outperforms the conventional dispatching approach in the high rework setup time case for the makespan problem and low/high setup time cases for the tardiness problem. The best priority rules of the mechanism under each of the measures are also reported.