Trains travelling south of Perth were disrupted due to a signalling fault on Thursday evening.
ScotRail services travelling towards Edinburgh and Glasgow were cancelled or delayed after the problem was discovered at Perth.
Engineers arrived at the scene and the problem was repaired just before 8.30pm.
ScotRail says services are now returning to normal.