South African President Jacob Zuma has cancelled a scheduled trip to neighbouring Mozambique tomorrow and said former president Nelson Mandela remains in a critical condition.

Mr Zuma made his decision not to leave the country after visiting Mandela tonight in the Pretoria hospital where he has been for nearly three weeks, a statement from his office said.

"Clearly the issue of seriousness has been such that President Jacob Zuma has cancelled his trip," presidential spokesman Mac Maharaj told Talk Radio 702.

He declined to comment on reports that Mr Mandela was on life support, saying: "I cannot confirm any clinical details."

Asked whether the seriousness of Mr Mandela's condition could force changes to the schedule of a planned visit to South Africa this weekend by US President Barack Obama, Mr Maharaj said it was too early to say.

He pointed out that Mr Obama was also visiting two other countries, Senegal and Tanzania, starting in the Senegalese capital tonight.

Mr Mandela - or Madiba, as he is affectionately known - is revered among most of South Africa's 53 million people as the architect of the 1994 transition to multi-racial democracy after three centuries of apartheid.

However, his latest hospitalisation - his fourth in six months - has reinforced a realisation that the father of the post-apartheid "Rainbow Nation" will not be around forever.

The deterioration in Mr Mandela's health last weekend to "critical" from "serious but stable" caused a perceptible switch in the national mood, from prayers for his recovery to preparations for a fond farewell.