California Governor Arnold Schwarzenegger has vetoed a bill passed by state legislators which would have allowed gay couples to marry.
Gay marriages allowed by the San Francisco mayor have been nullified
The former actor said this was a "constitutional issue" that should be decided by voters and the courts.
He said he was defending a public vote five years ago in which Californians defined marriage exclusively as a union between a man and a woman.
The San Francisco mayor defied that law in 2004, allowing gay couples to marry.
The bill vetoed by Mr Schwarzenegger said marriage was a civil contract between "two persons".
"I do not believe the legislature can reverse an initiative approved by the people of California," Mr Schwarzenegger wrote in a statement.
"If the ban on same-sex marriage is unconstitutional, this bill is not necessary.
"If the ban is constitutional, this bill is ineffective."
The California Assembly speaker, Fabian Nunez, accused the governor of having failed to scrap "the last vestige of legal discrimination" in the state.
"Instead of choosing the way of the future, the governor has aligned himself with the enemies of equal rights for all," Mr Nunez said.
More than 3,400 gay couples got married in San Francisco after the city's new mayor decided to defy state law and allow gay weddings in 2004.
But later in the year the state's Supreme Court ruled the mayor had exceeded his authority and nullified the unions.
In March this year a judge ruled that Californian state law had breached a constitutional right to equal treatment of all citizens, irrespective of sexuality.
The issue is now expected to go back to the Supreme Court.
Mr Schwarzenegger says he supports full legal protection for gay couples - but that the issue of gay marriage is best decided by the people or in the courts.
Massachusetts is currently the only US state which recognises same-sex marriages.