This paper considers a scheduling problem on parallel machines for the objective of minimizing total tardiness. Each of the machines needs preventive maintenance tasks that should be started within a given cumulative working time limit after the previous maintenance. The starting time of a maintenance task is not fixed but flexible. That is, a maintenance task can be started at any time unless the cumulative working time after the end of the previous maintenance exceeds the given limit. Dominance properties and lower bounding schemes for the problem are proposed, and a branch and bound algorithm is presented. Computational tests on 3600 randomly generated instances are performed to evaluate the branch and bound algorithm, and the results show that the algorithm finds optimal solutions for problems with up to 20 jobs.