Brazil is to deploy troops to five cities to control street protests that have seen almost a quarter of a million people demanding better public services.
The troops will be sent to Rio de Janeiro, Belo Horizonte, Salvador, Fortaleza and the capital, Brasilia who are all hosting games in the FIFA Confederations Cup.
The announcement was made after riot police and protesters clashed again on Tuesday in Sao Paulo. Shops and banks in Brazil's largest city were vandalised by groups of masked demonstrators who fought others trying to stop them.
TV showed images of a group of people involved in looting as more than 50,000 people marched through the city centre, the BBC reports.
President Dilma Rousseff earlier said she was proud that so many people were fighting for a better country. But Vice-President Michel Temer cut short a visit to Israel and the Palestinian territories on Wednesday to return to Brazil.
The protests were sparked by anger at a rise in public transport fare prices in Sao Paulo on 2 June and have since mushroomed into much broader discontent with high levels of corruption, the poor state of the health and education services and the high cost of living.
They are the largest since 1992, when people took to the streets to demand the impeachment of then-President Fernando Collor de Mello.