Nelson Mandela continues to respond to treatment more than two weeks after being taken to hospital, the South African government said.
The 94-year-old anti-apartheid hero and Nobel Peace laureate has been treated for a lung infection and gallstones after being admitted to a Pretoria hospital on December 8.
South African President Jacob Zuma said in a statement that Mr Mandela "will recover from this episode with all our support".
"Knowledge of the love and support of his people keeps him strong," he said.
It is the first Christmas that Mr Mandela has spent away from home since 1989, when he was still in prison.
He was jailed for almost three decades for his role in the struggle against white minority rule.
In January 2011, Mr Mandela was admitted to a Johannesburg hospital for what officials initially described as tests but turned out to be an acute respiratory infection.
Only limited details of his condition have been made public by the South African government, which has repeatedly called on the public to respect the former president's privacy.
Mr Mandela, often known by his clan name Madiba in South Africa, was released from prison in 1990.
He went on to use his unparalleled prestige to push for reconciliation between black and white people as the bedrock of the post-apartheid "Rainbow Nation".
Mr Mandela was elected South Africa's first black president in 1994.
He stepped down five years later after one term in office and has been largely removed from public life for the last decade.