Sen. Jeff Flake (R-Ariz.) has been more outspoken than most in his party when criticizing Donald Trump and the direction of the Republican Party under this president’s leadership. As Trump prepares to give out “Fake News Awards,” the retiring Arizona senator took the floor again today to condemn the president’s attacks on the nation’s free press.

“2017 was a year which saw the truth – objective, empirical, evidence-based truth – more battered and abused than any other in the history of our country, at the hands of the most powerful figure in our government. It was a year which saw the White House enshrine ‘alternative facts’ into the American lexicon, as justification for what used to be known simply as good old-fashioned falsehoods. It was the year in which an unrelenting daily assault on the constitutionally-protected free press was launched by that same White House, an assault that is as unprecedented as it is unwarranted. “ ‘The enemy of the people,’ was what the president of the United States called the free press in 2017. “Mr. President, it is a testament to the condition of our democracy that our own president uses words infamously spoken by Josef Stalin to describe his enemies. It bears noting that so fraught with malice was the phrase ‘enemy of the people,’ that even Nikita Khrushchev forbade its use, telling the Soviet Communist Party that the phrase had been introduced by Stalin for the purpose of ‘annihilating such individuals’ who disagreed with the supreme leader. “This alone should be a source of great shame for us in this body, especially for those of us in the president’s party. For they are shameful, repulsive statements. And, of course, the president has it precisely backward – despotism is the enemy of the people. The free press is the despot’s enemy, which makes the free press the guardian of democracy. When a figure in power reflexively calls any press that doesn’t suit him ‘fake news,’ it is that person who should be the figure of suspicion, not the press.”

That’s very well said. Flake’s punch may have been telegraphed – the senator started sharing excerpts from his remarks days in advance – but that doesn’t detract from its potency. Trump’s hostility for the First Amendment has been one of his presidency’s most alarming developments, and it’s heartening to see a high-profile senator from his own party call him out on it.

And yet, the praise for Flake must come with caveats.

This would ordinarily be the point at which someone like me is supposed to say, “That’s a nice speech, but when the rhetoric ends and the voting begins, Flake stands with Trump more than 90% of the time.” NBC News’ Benjy Sarlin has made the case, persuasively, that this may be an overly simplified way of looking at the political dynamic, so let’s consider the issue with a little more depth.

The problem is not simply that Flake votes for Trump’s preferred legislation. In practical terms, Trump knows (and cares) so little about public policy that his legislative preferences are, at best, superficial. To the extent that any meaningful policy work is underway, it’s happening on Capitol Hill, not in the Oval Office.

And that gives lawmakers like Flake, especially in a 51-49 Senate, enormous power. The question is what the Arizonan and his colleagues intend to do with that power.

Encouraging Trump to sound less like Stalin when condemning American journalism is a worthwhile thing to do – and speaking as a media professional, I appreciate it. But Flake’s remarks are an extension of a familiar course for Trump’s intra-party detractors: they’re principally concerned with the president’s ridiculous style and tone, not the substance of Trump’s misguided presidency.

Flake’s online bio, for example, notes that he serves on the Senate Foreign Relations Committee “where he also serves as chairman of Subcommittee on African Affairs.” That’s of particular interest right now: it means Flake could’ve used his gavel to call a hearing to explore Trump’s “shithole countries” comments in more detail, demanding answers and exploring the consequences.

But that hasn’t happened.

Flake also serves on the Senate Judiciary Committee, where he could use his position to scrutinize some of the worst of Trump’s judicial nominees, rejecting those who fall short.

But that hasn’t happened, either.

Last summer, the Arizona lawmaker wrote a piece for Politico in which he compared Trump to a biblical flood – and not in a good way. But when it came time to put forward meaningful steps the GOP should take in the Trump era, Flake came up with three recommendations: (1) be willing to criticize Trump when the president does damage to “the Republican Party’s ability to grow and speak to a larger audience”; (2) honor the GOP’s long-standing free-trade commitments; and (3) “stand up for institutions and prerogatives, like the Senate filibuster.”

To put it charitably, this was a weak response to what he considered a political crisis. As we discussed at the time, Flake seemed to recognize the poison eating away at his party, but his proposed antidote was, at best, underwhelming.

And therein lies the problem. I like Flake’s speeches, op-eds, and books. I also recognize that it takes some political courage to speak out the way he has. But I keep waiting for the Arizona senator to actually do something – to follow up his welcome words with deeds – instead of preparing the next speech, op-ed, and book.

Isaac Chotiner had a good piece along these lines yesterday, noting that Flake “seems entirely unwilling to take actions commensurate with either the times – which he correctly recognizes as frighteningly dangerous – or his own words. He seems to believe that anything too radical would be a violation of his conservative principles, when in fact he should be willing to temporarily put aside his commitment to those principles for his commitment to – by his own account – larger ones.”

In a 51-49 Senate, Flake can wield great influence. Here’s hoping he starts taking better advantage of the opportunity to keep a president that frightens him in check.