Donald Trump has retaken the lead in Iowa from Ted Cruz, and has a commanding margin in New Hampshire, according to Fox News' latest poll released Sunday.

Trump leads Ted Cruz, 34 percent to 23 percent, in Iowa. That's a 15 point swing from Jan. 8, when a Fox poll said Cruz led Trump 27-23.

The shift shows that Trump's attacks on Cruz's eligibility to run for president may be working. Trump has implied Cruz's birth in Canada may mean he's disqualified from becoming president, and has also attacked Cruz's past work in the Senate on immigration.

In Sunday's poll, Trump also leads Cruz in New Hampshire, 34 percent to 14 percent,

Marco Rubio is in third in both states, at 12 percent in Iowa and 13 percent in New Hampshire. That's a slight drop for Rubio in both states.

In New Hampshire, John Kasich is in fourth in this poll, at 9 percent. Jeb Bush is in fifth, at 7 percent. Chris Christie is tied with Bush for fifth, at 7 percent.