At least 28 people, including 22 children, have died in a bus accident in an alpine tunnel in Switzerland, police said.

The children were returning to Belgium from a skiing holiday in Val d'Anniviers on Wednesday.

The bus hit a wall on Tuesday night in the motorway tunnel running from east to west and exiting at Sierre in the Swiss canton of Valais.

The bus was carrying 52 passengers from the cities of Lommel and Heverlee in Flanders, and was registered in Belgium.

In Brussels, the Belgian foreign ministry said most of the children were aged about 12 and the bus was one of three hired by a Christian group.

The Dutch foreign ministry said that nine Dutch children were involved in the accident. Eight of them lived in Belgium, while one lived in the Netherlands close to the Belgian border.

Swiss media said two drivers were killed in the accident. Four Valais hospitals were treating the injured.

Swiss police described the crash as "unprecedented," and said they had started an investigation.

Police said the bus veered and hit a curb, then rammed into a concrete wall in the tunnel. The front of the bus was heavily damaged and blocked people from getting out. The cause of the crash has not been determined.

The highway was closed in both directions to aid in the rescue. Some eight helicopters and a dozen ambulances took victims to hospitals. Dozens of firefighters and police, 15 doctors and three psychologists were called to the scene.

"Deep sadness"

A spokesperson for the Swiss President Eveline Widmer-Schlumpf said: "Condolences have been forwarded to the government," in Belgium and the Swiss government "has expressed its deep sadness."

The Dutch Prime Minister Mark Rutte told Dutch news agency ANP he hoped all the victims would be quickly identified to put an end to the  uncertainty, he added.

"For all those concerned, it is an unimaginable drama," said Rutte.

The Belgian Prime Minister, Elio Di Rupo was on his way to Switzerland and  two army units were mobilised to transport victims' families, from the  two towns in Flanders.

A Swiss government spokesperson said a crisis centre has been set up and an emergency number provided for families.

The Belgian ministry of defence said it would make available two aircraft so that the families of the victims could be flown to the crash site later on Wednesday.

Source: Agencies