More than 100 rail passengers were stranded for nearly six hours overnight after their train was stuck in a snowdrift.
A snow plough had to clear the track before a rescue train with food and blankets could travel down and pick up the 107 people near Aviemore around 1.30am today.
The travellers had to battle through snow and driving winds as they clambered between the trains in the darkness - and were described as "fed up and tired" after their ordeal.
The Edinburgh to Inverness service ground to a halt at 8.20pm yesterday near Blackmount, between Carrbridge and Slochd and around 20 miles from Inverness.
First ScotRail said the passengers were due to reach Inverness at around 3.30am, where taxis were being laid on to get people home.
Police in the Highlands initially said attempts to rescue the travellers proved difficult because of the remote location and snowy conditions.
A spokesman for First ScotRail said the rescued passengers were "fed up" and "tired", but no-one had been injured or was "in distress".
"The weather is bad, but we wouldn't be transferring people if we thought the conditions were dangerous. It will be done in a safe and orderly fashion," he said.
"People have been on board for about six hours - they are tired and fed up. But the driver has said no-one is in distress."
The stranded train "is set in and would require digging out", the train operator added.
Northern Constabulary said of the passengers: "They are all safe and well.
"It has been difficult to reach them because of the location."
A train service between Inverurie and Keith was also suspended because of bad weather last night, with 200 people being accommodated in Aberdeen overnight, First ScotRail said.