A regional court in western Switzerland has ordered a train driver to pay a fine of about CHF5,400 ($5,397) for ignoring a signal, causing a head-on collision with another regional train in 2013.
One person was killed and more than 20 others injured in the accident.
The sentence, suspended over two years, was handed down on Tuesday and is in line with demands by the prosecutor.
The court said the train driver overran a signal and took a very long time to pull the emergency brake.
The defendant rejected the allegations of ignoring a signal on leaving the station of Granges-Marnand, about 35 kilometres north of Lausanne. He claimed that he saw a green light.
Trade unions have accused the operator of the regional line, the state-owned Swiss Federal Railways, of sharing responsibility for the accident, because it reduced safety precautions to save costs.
A union spokesman told the 20 minutes newspaper that, as a result, train drivers were overworked.
Swiss Federal Railways reiterated that it had been cleared of criminal responsibility, and that it had introduced measures immediately after the accident to increase safety.
The trial had been due to be held in May but was delayed for medical reasons.
swissinfo.ch with agencies/ug