A hospital spokesman had said the 88-year-old would be released in time to spend the holiday at home, but that changed after Mr Bush developed a fever.
"He's had a few setbacks. Late last week, he had a few low-energy days followed by a low-grade fever," Jim McGrath, Mr Bush's spokesman, said.
"Doctors still say they are cautiously optimistic, but every time they get over one thing, another thing pops up."
He said the cough that initially brought Mr Bush to the hospital on November 23 is now evident only about once a day, and the fever appears to be under control, although doctors are still working to get the right balance in Mr Bush's medications. No discharge date has been set.
"Given his current condition, doctors just want to hang on to him," Mr McGrath said. He did not know what had caused the fever.
Mr Bush's son, George W Bush, the 43rd president, has been among the visitors at the hospital.
Being in the hospital for such a long time has not been easy for Mr Bush, who is accustomed to being active, Mr McGrath said. But the president has said he's determined "not to get grumpy about it".
"He's just the most relentlessly positive person," Mr McGrath said, and "he does enjoy joking with the nurses".