Jane Moore has said Prince Harry should have addressed his past controversies in a recent speech.
In a speech for The Diana Award, the duke, 35, said he is "sorry" that his own generation and the one before it hasn't "done enough" to end "institutional racism".
His comments were discussed on Thursday's Loose Women.
What did Jane say?
Jane said: "He himself has a history.
"When he was at Sandhurst a video was leaked out where he was saying some very inappropriate, non-PC things.
"And St James’ Palace had to issue an apology and he got sent on some sort of diversity course."
She added: "So again, I think any mistakes that anybody’s made in the past can be forgiven but for me, I would like him to have said, 'I myself have made mistakes.'"
Jane continued: "Rather than kind of lumping everybody into the same thing and going, 'I’m apologising for the whole of our generation and our society.'
"I think well I don’t need Prince Harry to apologise for me because I’ve not done the things that he’s done in his past.
"I would rather, I felt it would have been more powerful if he had actually said, 'look, I’ve made mistakes myself and I’ve learned.'"
What did Prince Harry say in his speech?
The dad-of-one said: "My wife said recently that our generation and the one before us haven't done enough to right the wrongs of the past.
"I too am sorry. Sorry that we haven't got the world to a place you deserve it to be.
"Institutional racism has no place in our societies, and yet it is still endemic.
"Unconscious bias must be acknowledged, without blame, to create a better world for all of you."
He concluded: "I want you to know we are committed to being part of the solution.
"And to being part of the change that you are all leading. Now is the time, and we know you can do it."
What did you think of Harry's speech? Leave us a comment on our Facebook page @EntertainmentDailyFix and let us know.