The driver of an Inverness to Edinburgh passenger train escaped injury but was left shaken after the windscreen was smashed by an overhanging tree.
The incident involving the 6.50am service happened about 7.30am near Slochd Summit.
The tree may have been blown over or forced over by the weight of heavy snow.
The train returned to Inverness and passengers switched to an East Coast’s 7.55am service to Kings Cross.
The line was closed until around 8.40am when it re-opened with a speed restriction of 20mph in place.
A team from Network Rail went to the scene and removed the tree.
It is unclear at this stage whether the tree was on Network Rail or adjoining estate land.
A Network Rail spokesman said: “The tree itself was not blocking the line, it was more a question of the branches overhanging the track.
“We have had a few issues over the past couple of days with wind blowing trees over. We had about six trees blown on to the railway between Moy and Culloden on Sunday and they all had to be cut down.
“The only trees we take down that we don’t own are those that are in danger of falling. So if we see a tree that is diseased and dying then we will cut it down.”
A Scotrail spokeswoman said: “No passengers were injured, and the driver was unharmed but understandably shaken.”
Snow and ice has also been making driving conditions tricky on higher sections of the A9 today.
Snow was still falling at 7am this morning at Drumochter, Slochd, Avielochan and Daviot, but eased off by about 8.30am.
The Met Office had a yellow “be aware” warning for wind in place until noon today and the Dornoch Bridge was closed to high sided vehicles from about 10am this morning.
A flood alert has also been issued for Caithness and Sutherland today following heavy overnight showers which have caused some river levels across the region to rise.
Sepa has warned that there may also be very isolated flooding to low-lying land and roads, particularly in known trouble spots.
the 6.50am