Gold rose for a second consecutive session on Monday as crude oil's gains and a dollar drop prompted funds to buy back their bearish bets as they adjusted positions ahead of a U.S. Federal Reserve policy meeting later this week.
Earlier in the session, bullion was pressured after data showed U.S. manufacturing output rose for a fourth straight month in November, the latest suggestion the economy is gaining steam.
Recent brisk improvements in the labor market have raised the chances that the Fed, at its Dec. 17-18 meeting, will decide to taper its economic stimulus program, analysts said. But most observers expect the U.S. central bank to keep its $85 billion-a-month bond-buying program in place.
"Should tapering not be announced at the December meeting, given the elevated speculative positioning to the short side, there is scope for a short-covering rally," said Suki Cooper, precious metals analyst at Barclays Capital.
Spot gold was up 0.5 percent at $1,244.46 an ounce by 1:54 p.m. EST (1854 GMT)
U.S. gold futures for February delivery settled up $9.80 an ounce at $1,244.40, with trading volume about 30 percent below the 30-day average, preliminary Reuters data showed.
Expectations that the Fed will taper stimulus have already knocked gold prices down 25 percent this year - their biggest annual drop in 32 years. Concerns that gold's retreat may have been overdone led to a flurry of short-covering last week.
Gold was underpinned as the dollar eased against the euro on Monday - data showed a pick-up in euro-zone business activity - while Brent crude oil rose sharply on curtailed supplies from Libya.
Investment interest in gold remained soft, with the world's largest gold-backed exchange-traded fund, New York's SPDR Gold Trust, reporting an outflow of 8.1 tonnes last week.
So far this year the fund's gold holdings have fallen by 523 tonnes, or 39 percent, to a nearly five-year low of 827.6 tonnes.
In other precious metals, silver rose 2.1 percent to $20.06 an ounce, platinum was down 0.2 percent at $1,358.25, and palladium edged up 25 cents to $714.25.