Metal-only ECO (engineering change order) is an important process for timing optimization after the layout has been completed. To fix timing violations, previous works use spare cells to revise data paths. Different from previous works, in this paper, we propose a new approach to fix timing violations by considering both data paths and clock paths. The proposed algorithm creates a candidate list (from both data paths and clock paths) based on current timing conditions and spare cell data, and then it calculates the costs to select the best revision method. The algorithm repeats until no further improvement can be made. Experiment results show that the proposed approach can achieve better timing results than previous works.