The pilot of the Swiss Crystal cruise ship made a steering error, which led to Tuesday’s accident on the River Rhine near Duisberg, Germany.
Swiss shipping company Scylla announced this conclusion on Thursday. It said the incident would be further investigated to avoid future accidents.
Three of the passengers are still in hospital; a fourth has been released. In total, 25 of the 129 people on board were hurt when the ship crashed into a pillar supporting a highway bridge.
The Swiss Crystal was heading towards the Netherlands and is now in a shipyard there for repairs to its badly damaged bow.
swissinfo.ch and agencies/sm