Protesters gathered in the city of Lausanne on Thursday for the first major demonstration against this weekend's G-8 summit in neighbouring France.
Around 4,000 demonstrators - far fewer than expected - braved heavy rain as they took to the streets in a vocal but peaceful protest.
The atmosphere during the march was fairly relaxed, with only a few minor skirmishes between riot police and angry demonstrators.
An anti-violence intervention group - made up of around 100 volunteers - was also on-hand to help with crowd control.
"Things went very well... Nobody was injured and nothing was broken, so it was very good," one volunteer told swissinfo.
The authorities were so worried about violence that they turned this city into a bunker... but tonight we proved to them that it wasn't necessary," he added.
The organisers had originally predicted that tens of thousands of people would attend the event.
Some of the demonstrators defied a ban on wearing masks and covered their faces.
Many wore masks resembling the faces of three of the most prominent G-8 leaders: President George Bush, his French counterpart, Jacques Chirac, and the British prime minister, Tony Blair.
Others wrapped headscarves around their faces.
An official observer at the demonstration, Yves Ferrari, told swissinfo that only a small minority of protesters had turned out to disrupt the proceedings.
"It seems that between 20 and 30 people came just to cause trouble... They wore masks and skiing goggles," Ferrari said. "It's clear their intentions were not peaceful."
Chanting and carrying banners as they made their way through the city centre, protesters shouted their support for a variety of causes, including feminism and anti-globalisation.
Some of those on the march carried flags which read "death to capitalism" and "down with G-8 colonialism".
One young couple, carrying a rainbow-coloured peace flag, said they were disappointed by the low turn-out but nonetheless pleased with the outcome.
"The leaders of the G-8 take decisions that affect the lives of people who do not agree with those decisions," Marcela and Nicolas Ronga told swissinfo.
"If each person was faithful to his or her own beliefs and if each person came out to show what they believed in, then we could really make things happen," they added.
Another participant, 60-year-old Lausanne resident, Claire Gilliéron, said she had hoped the protest would represent more people from older generations.
"I wish the turn-out had been higher, especially among people of my age... there are a lot of young people here and I hope they will continue to protest," she said. "But we're missing the people in their 40s and 50s because they were too scared to come out."
She also said she believed Switzerland "should have refused" to help the French in organising the G-8.
The main demonstration against the three-day G-8 summit is scheduled to take place in Geneva on Sunday, when the meeting between the world's leading industrialised nations and Russia gets underway in the French lakeside resort of Evian.
Evian itself has been declared a no-go area by French police, who have blocked public access to and from the summit venue.
Earlier on Thursday, more than 1,000 German demonstrators arrived in Geneva on a specially chartered train ahead of Sunday's planned march.
swissinfo, Anna Nelson in Lausanne and Faryal Mirza
Around 4,000 people protested against the G8 summit in Lausanne on the shores of Lake Geneva.
Official observers said the protest was largely peaceful, with only a few minor skirmishes between riot police and demonstrators.
The main anti-globalisation protest - including up to 50,000 people - is due to take place in Geneva on Sunday, to coincide with the opening day of the summit.
The leaders of the world's seven most-industrialised nations and Russia are set to meet in Evian, on the French side of Lake Geneva.