State-tracking Iterative Learning Control (ILC) yields perfect state-tracking performance at each n sample instances for systems that perform repetitive tasks, where n stands for the order of the system. By achieving perfect state-tracking, oscillatory intersample behavior often encountered in output-tracking ILC has been mitigated. However, state-tracking ILC only assures the estimated state error to converge to a significantly small value, meaning the accuracy of the state estimation takes a critical role. State estimation using a causal state observer has had an inevitable trade-off between the estimation delay and the noise sensitivity. By utilizing the non-causal operation of ILC, a non-causal state estimation can be designed. This non-causal state estimation performs beyond the trade-off of causal estimation, improving the estimation delay without compromising the noise sensitivity. The aim of this paper is to implement the non-causal state observer to state-tracking ILC, and present the improved state tracking by applying it to a second order system.