Obama: Critics of Honduras policy are hypocritical

President Barack ObamaBarack Hussein ObamaGOP rep: North Korea wants Iran-type nuclear deal Dems fear lasting damage from Clinton-Sanders fight Iran's president warns US will pay 'high cost' if Trump ditches nuclear deal MORE lashed out at Latin American critics who have accused the United States of not doing enough to restore Honduran President Manuel Zelaya to power after his June 28 overthrow.

At a press conference in Guadalajara, Mexico, with Mexican President Felipe Calderon and Canadian Prime Minister Stephen Harper, Obama said that those criticizing the U.S. for not intervening enough are the same people who say, "Yankees, go home."

"You can't have it both ways," Obama said.

Harper came to Obama's defense, saying, "If I were an American I would be really fed up with this kind of hypocrisy."

The president reiterated his call for Zelaya's return to power.

Obama, speaking to reporters at the conclusion of the North American Leaders' Summit, was also pushed to defend the "Buy American" provision in the stimulus package that has raised the ire of Canadians and Mexicans.

The president said Harper "raises this with me every time we see each other," but Obama said the provision "has in no way endangered the billions of dollars" in trade that Canada and the U.S. enjoy.

That said, Obama said "it was not something I thought was necessary."

Calderon and Harper forged an agreement to work against the protectionist measures before Obama even signed the $787 billion stimulus package.

On the thorny issue of immigration reform, Obama said he has a lot on his plate, but he is hopeful that there will be draft legislation by the end of the year after Congress, he hopes, passes healthcare reform, financial regulatory reform and a climate-change bill.

The president said he is not worried about next year's midterm elections because he doesn't act "based on short-term political calculations."

"I anticipate we'll do just fine," Obama said.