The elderly man from Lucerne succumbed to his injuries on Friday morning in a hospital in Coire, according to Graubünden cantonal police.
He was one of five people seriously injured when a landslide caused by heavy rain derailed a train travelling on the Saint Moritz to Chur route between Tiefencastel and Solis.
Around 200 people were on board the train when three of its eight carriages derailed.
One carriage plunged down a steep slope above a river and another was left hanging precariously over the edge.
The third was stopped from dropping into a flood-swollen river by trees.
All passengers were rescued and there were no fatalities on site.
In addition to five seriously injured passengers, a further six were treated for minor injuries.
The train was removed from the line with 72 hours, after which time normal services resumed.