The highest court in South Africa has ruled that President Jacob Zuma violated the constitution when he failed to repay government money spent on his private home.
It gave the treasury 60 days to determine how much he should repay.
The ruling is a victory for the opposition, who said they would push for Mr Zuma's impeachment.
They accuse him of using "ill-gotten wealth" to upgrade his home with a swimming pool and amphitheatre.
Mr Zuma has denied any wrongdoing.
A government statement said he would "reflect" on the judgement and take "appropriate action".
A spokeswoman for the governing African National Congress (ANC) said the party's top six officials, who include Mr Zuma and his deputy Cyril Ramaphosa, would meet to discuss the implications of the ruling, Reuters news agency reports.
Mr Zuma has up to now refused to bow to pressure to resign.
A flyover under construction in the eastern Indian city of Kolkata (Calcutta) has collapsed, killing at least 18 people and injuring others.
Many people are feared trapped under the concrete and steel bridge, which fell on a busy road.
Images show residents using their bare hands to help the rescue effort.
Safety issues such as lack of inspections and the use of substandard materials have plagued construction projects in the country.
The accident took place in an area near Girish Park, one of Kolkata's most densely populated neighbourhoods, with narrow lanes, and shops and houses built close together.
The 2km-long (1.2 mile) flyover has been under construction since 2009 and missed several deadlines for completion.
The causes of the disaster were not immediately clear but the company in charge of the construction, IVRCL, said it would cooperate with investigators.