Bank of America profit dinged by mortgage charges by Stephen Gandel @FortuneMagazine January 17, 2013, 12:02 PM EDT E-mail Tweet Facebook Google Plus Linkedin Share icons FORTUNE – Bank of America took another step in the right direction. But the question is whether its steps are fast enough. BofA BAC earned $732 million, or 3 cents a share, in the last three months of 2012, beating estimates by a penny. For all of 2012, the company earned just over $4 billion, or 25 cents a share. Fourth-quarter sales, though, came in at just under $20 billion, after adjusting for its debt. That was down from $26 billion a year ago. BofA’s shares fell 3%. MORE: The old Goldman Sachs is back Fourth-quarter earnings included a number of one-time charges as the bank worked to clean up its balance sheet. Earlier this month, BofA agreed to a nearly $12 billion settlement with Fannie Mae over charges that the bank passed faulty home loans off onto the mortgage giant. BofA, along with 10 other large banks, agreed to pay a total of $8.5 billion to settle charges over alleged foreclosure mishandling. Those charges pushed the bank’s profit down from a year earlier. But it also meant that BofA was able to put another significant portion of its hangover from the financial crisis behind it. Overall, the bank’s financial condition improved. For the year, BofA had just under $15 billion of bad loans that it charged off. That was down from $20 billion a year ago. And the amount of capital it has on hand to cover bad loans rose nearly $7 billion. Investment banking has been a bright spot for the bank in the past year or so and that continued in 2012. The bank said revenue from fixed income trading and investment banking — one of Wall Street’s most profitable and sought after businesses — was up 36% in the fourth quarter, and up consistently all year. Low interest rates have spurred a wave of corporate debt issuance. CFO Bruce Thompson said the bank generated more revenue from bond underwriting than any of its rivals. And Thompson said the bank was able to do so at a time when it continued to cut staffers from its investment bank. BofA laid off 14,601 employees over the course of 2012, including 5,400 in the last three months of the year. Those cuts came as part of the bank’s earlier announced effort to eliminate 30,000 positions. Some have speculated that BofA might end up cutting more jobs than it has announced so far. “We enter 2013 strong and well positioned for further growth,” said CEO Brian Moynihan in a statement. MORE: Why business leaders are silent on the debt ceiling But BofA’s clean-up may have taken too long. Like other banks, BofA has benefited from the rebound in the mortgage market. Home loans sold by its own brokers rose 42% for the quarter. The bank exited the business of making home loans through correspondents and other outside mortgage brokers. So in total, home lending was down for the bank. Rivals were quicker to recognize the turnaround in the mortgage market, which happened in the first half of 2012. BofA recently said it’s looking to grow its home lending business again, but it appears to be late in the cycle. Interest rates have begun to tick up, raising the question of whether the recent boom in refinancing will soon be over. What’s more, the high-profit margins some banks have been getting from selling mortgage loans lately has begun to shrink. Overall, the company’s volume of outstanding loans was down from a year ago. That’s happening at a time when the banks deposits continue to grow — a sign that BofA, like other banks, is either still not eager to lend, or is having trouble finding worthy borrowers. In all, BofA’s results, particularly the fact that revenues declined from a year ago, show how hard it has been for banks to grow during this week recovery. Wells Fargo WFC , JPMorgan Chase JPM and Goldman Sachs gs all reported better-than-expected earnings. Citigroup C , which also reported earnings Thursday morning, missed expectations. But the latest reports also showed signs that low interest rates are weighing on earnings.