In this paper, we present a heuristic algorithm that improves the performance of static task scheduling. Our algorithm is based on the list-scheduling mechanism. For the listing phase, we use existing techniques to generate partial-order task sequences based on critical-path-first ordering, critical-task-first ordering, and their hybrids. For the scheduling phase, we propose a task-duplication algorithm with a look-ahead technique, so that the complexity of the new algorithm does not increase. The experiment results show that our algorithm outperforms other algorithms for any feasible task sequences with respect to the average execution times and the average scheduling length ratios.