President Bush vetoed a campaign reform bill Saturday, dismissing the effort to change how congressional races are paid for as "a taxpayer-financed incumbent protection plan."
Lawmakers backing the bill to limit campaign spending lacked the necessary support to override Bush's veto.
Bush says the bill would favor congressional insiders, most of whom are Democrats, and do little to help political outsiders.
"What we do not need is a taxpayer-financed incumbent protection plan," Bush said.
The bill would set voluntary spending limits on House and Senate campaigns for both incumbents and challengers and would restrict the amount of money that could be contributed by political action committees set up by special interest groups.
While Bush said the system was "seriously flawed," he said the bill would not right the balance and contained politically expedient discrepancies for House and Senate races.
Bush proposed campaign finance reform in 1989, saying he wanted to abolish political action committees and subsidies from unions, trade associations, and corporations.
"If the Congress is serious about enacting campaign finance reform, it should pass legislation along the lines I proposed in 1989, and I would sign it immediately," he said.
The House and Senate votes in favor of the bill fell well short of the two-thirds majority in each chamber that would be needed to override the veto. Congress, which is controlled by Democrats, has never overridden a Bush veto.
Republicans say challengers need to spend more to overcome the name recognition and other benefits incumbents usually have.
Democrats urged Bush not to veto the bill, saying it was needed to assure voters that Congress was responsive to the public and not beholden to special interest groups.