Trains running through Perth, Dundee and Angus faced disruption on Wednesday morning due to a signalling fault.
ScotRail said the problem was discovered near Gleneagles at around 8am, meaning services had to run at a reduced speed.
The issue was fixed at around lunchtime after Network Rail replaced about 1km of signalling cable.
All services disrupted
A tweet stated: “The signalling fault at Gleneagles has been fixed and we’re doing our best to return services ASAP.”
Earlier on Wednesday morning the operator tweeted: “A signalling fault near Gleneagles is causing delays to all services in both directions.
“This is affecting Edinburgh/Glasgow-Inverness trains, as well as those between Glasgow, Perth, Dundee & Aberdeen.”
Fife Circle cancellations
Meanwhile, services running between Fife and Edinburgh have returned to normal after disruption.
A number of trains on the Fife Circle were delayed or cancelled due to trespassers on the line between Edinburgh Gateway and Dalmeny.
It comes as a transport union has warned rail staff in Scotland could take more industrial action over working conditions.
The Transport Salaried Staffs’ Association is to ballot members at ScotRail over a potential strike, amid an ongoing dispute about on-call shifts.
Conversation