Queen Elizabeth II's disgraced second son Prince Andrew has contracted Covid and will not attend a thanksgiving service for her Platinum Jubilee, Buckingham Palace said Thursday.

"After undertaking a routine test, the Duke (of York) has tested positive for Covid and with regret will no longer be attending tomorrow's service," a spokesman said after there was no sign of the prince at Thursday's ceremonies.

British media said the 62-year-old duke, sidelined from royal duties because of public outrage at his links to a convicted sex offender, had seen his 96-year-old mother in recent days.

But he has not seen her since he tested positive.

A thanksgiving service for the queen's 70 years on the throne is due to be held at St Paul's Cathedral in central London on Friday.

Andrew, a former Royal Navy helicopter pilot, has kept a low profile since late 2019 when he tried to defend his friendship with Jeffrey Epstein.

The US financier killed himself in prison while awaiting sex trafficking charges in 2019.

Andrew earlier this year settled a US civil case for sexual assault brought by a woman who claimed Epstein trafficked her for sex.

He claimed never to have met her. Seeking to limit the reputational damage to the monarchy, he was stripped of his honorary military titles, effectively giving him no frontline royal role.

In late March, there was widespread public disapproval that he accompanied his ailing mother to her seat for the memorial service of her late husband Prince Philip.

That prompted speculation he was angling for a return to duties.

Earlier this week, the highest-ranking cleric in the Church of England, the Archbishop of Canterbury, suggested Andrew was "seeking to make amends", urging people to "step back a bit".

The archbishop, Justin Welby, also pulled out of the St Paul's service due to Covid.