It is something of a mystery why Trump hasn’t ended it already. In campaign speeches, he vowed to “immediately terminate President Obama’s two illegal executive amnesties,” meaning DACA and a subsequent action to protect Dreamers’ relatives that was blocked by the courts. Immigrant advocates braced for the White House to cancel the permits as early as Inauguration Day.

An executive order was reportedly drafted to do so—but Trump wouldn’t sign it. Instead, he waffled. He repeatedly expressed public sympathy for the Dreamers, even as he issued draconian immigration policies on other fronts: a ban on travelers from certain Muslim countries, for example, and an unrelenting crusade for a wall on the Southern border. Meanwhile, the Department of Homeland Security has continued to give two-year permits to Dreamers. About 200,000 have enrolled in the program or renewed their enrollment since Trump took office.

“We don’t want to hurt those kids,” Trump told Democrat Richard Durbin at an Inauguration Day lunch with congressional leaders. At a February news conference, he said, “DACA is a very, very difficult subject for me,” and promised to handle it “with heart” for “these incredible kids.” In an April interview, he said Dreamers should “rest easy,” even though some of them have already been detained.

The president’s failure to pull the trigger infuriated and perplexed his friends in the immigration-restriction community, who felt he was breaking a promise. “DACA is inconsistent with the rule of law, inconsistent with the president’s own promises, and inconsistent with the president’s principled stand against illegal immigration,” the Kansas secretary of state and national immigration crusader Kris Kobach wrote in a Breitbart op-ed this week. “It must end.”

Why didn’t Trump do it? It’s not as if anyone could accuse him of having a soft spot for immigrants. He’s amply demonstrated that he’s not particularly concerned with offending Latino voters, or doing things that polls show are unpopular, or disrupting the status quo, or upsetting the business community or Republican establishment. So why not end DACA?

The best explanation, and the one proffered by sources in, around, and opposed to the White House, is the one the president himself has given: He feels for the Dreamers. As with other controversial administration policies, a moderate-establishment wing of the White House opposes the change, while a populist-conservative faction is pushing Trump to make it. Trump himself feels pulled in both directions.

More than one immigration advocate put it the same way to me: “Somebody told him these are good kids,” and it stuck. He didn’t want to anger the Breitbart wing of his base. But unlike other undocumented immigrants, hardworking young students didn’t strike him as criminals. And in an administration where personality is policy, Trump’s feelings carried the day.