President Donald Trump's lawyer Rudy Giuliani suggested on Sunday that the president hadn't always told truthful stories about allegations of felony campaign-finance violations.

Giuliani, speaking to ABC's George Stephanopoulos, attacked Trump's former lawyer Michael Cohen, who recently pleaded guilty to campaign-finance violations and said Trump directed him to commit them to influence the 2016 election.

Giuliani said Cohen had changed his story repeatedly, to which Stephanopoulos said Trump had done the same thing. Giuliani didn't deny that.

Giuliani said only that Trump wasn't speaking under oath and had tried his best to accurately remember what happened, thereby suggesting his client, the president, hadn't always told the truth.

President Donald Trump's lawyer Rudy Giuliani, the former New York City mayor, suggested on Sunday that the president hadn't always told truthful stories about allegations of felony campaign-finance violations.

But Giuliani argued that it was fine for Trump to do that because he was not under oath.

Giuliani, speaking to ABC's George Stephanopoulos, acknowledged that Trump's account of payments made to two women who say they had sexual relationships with the president had changed several times during an investigation.

But Giuliani said the evolving story was owed to lapses in Trump's memory, which Giuliani characterized as common and expected.

Giuliani also consistently accused Trump's former lawyer Michael Cohen of lying. Cohen was sentenced to three years in prison last week after pleading guilty to an array of crimes he committed while working for Trump, including campaign-finance violations related to the two payments, which Cohen told the court were made at Trump's direction to influence the 2016 election.

Cohen had previously denied making the payments, and then, after acknowledging them, denied that Trump had anything to do with them. Trump also initially denied knowing about the payments and has since offered differing accounts of how they were paid out.

As he was sentenced last week, Cohen said he had broken the law out of "blind loyalty" to Trump. Giuliani characterized that as a lie, saying Cohen had taped conversations with Trump that showed that it wasn't total loyalty.

Read more: Michael Cohen says he felt it was his 'duty' to 'cover up' Trump's 'dirty deeds,' is sentenced to 3 years in prison

Giuliani, suggesting that the US attorney for the Southern District of New York had offered Cohen a reduced sentence in exchange for implicating Trump, said that Cohen was highly motivated to blame Trump for the crimes.

"There's a real motivation to sing like crazy — you've got to do a lot of singing to get out of the three years," Giuliani said. "And he will say whatever he has to say. He's changed his story four or five times."

"So has the president," Stephanopoulos interjected.

"The president's not under oath," Giuliani said. He did not deny that Trump had changed his story on the payments and had often contradicted himself.

"The president is trying to do the best he can to remember what happened," Giuliani continued, suggesting that Trump had not been truthful about the sequence of events involved in Cohen's crimes.

But Giuliani chalked up Trump's shifting stories to a simple matter of flawed memory, adding that at the time Trump was "the busiest man in the world."

"I was with him most of that time," Giuliani said of Trump. "I can't remember a lot of the stuff that goes on there."