In the wake of Washington's health-care overhaul, some companies are taking big one-time charges for anticipated costs, fanning tension with the administration over the legislation's impact on corporate America.

Three companies that were among vocal opponents of the legislation have warned they would see an immediate impact on their earnings as a result of the loss of deductions on tax-free subsidies they receive for providing retiree prescription-drug benefits.

On Thursday, Deere & Co. said it would take a $150 million one-time charge in the current quarter related to the loss of deductions. Earlier in the week, Caterpillar Inc. reported a $100 million charge and AK Steel recorded a $31 million charge.

Beginning in 2006, companies have received a 28% federal subsidy, up to $1,330 per retiree, tax-free, to help pay for prescription-drug coverage. Until now, companies could deduct the subsidy from their taxes, essentially getting a second benefit from the money. Under the new law, companies will no longer be able to deduct the subsidy, but it remains tax-free.

Although the changes don't go into effect until 2013, companies say they have to take the charge to earnings now, to reflect the loss of the future tax deductions. In all, the S&P 500 companies will take a combined hit of $4.5 billion to first-quarter earnings, estimates David Zion, an analyst with Credit Suisse.