The ability of buses to adhere to their advertised schedule is vital to the bus operations. In this paper, an adaptive control strategy is proposed to dynamically adjust bus speed and traffic signal timings along the path of a running bus to improve its schedule adherence. The strategy relies on real-time location and speed information of buses provided by cooperative vehicle infrastructure system (CVIS) and uses key-time nodes calculated by back-stepping of planned arrival times to dynamically update signal timing plans to keep the bus running on time. A hardware-in-the-loop (HIL) field test was conducted to evaluate the developed strategy and the results are encouraging.