President Trump last held a campaign rally in early March
US President Donald Trump is postponing his first post-coronavirus lockdown election rally in Tulsa, Oklahoma so it does not fall on a holiday commemorating the end of US slavery.
He tweeted that the 19 June rally would be held a day later out of respect for the occasion, known as Juneteenth.
The choice of date had drawn criticism amid nationwide anti-racism protests.
The location was also controversial, as Tulsa saw one of the worst massacres of black people in US history in 1921.
Up to 300 people died when a white mob attacked the prosperous black neighbourhood of Greenwood, known as the "Black Wall Street", with guns and explosives. About 1,000 businesses and homes were also destroyed.
Why is Juneteenth significant?
Juneteenth is not a federal holiday, but is widely celebrated by African Americans.
It celebrates the reading of the Emancipation Proclamation to enslaved African Americans in Texas.
Texas was the last state of the Confederacy - the slaveholding southern states that seceded, triggering the Civil War - to receive the proclamation, on 19 June 1865, months after the end of the war.
President Trump initially defended the timing of his rally, telling Fox News: "Think about it as a celebration. My rally is a celebration. In the history of politics, I think I can say there's never been any group or any person that's had rallies like I do."
But critics accused him of disrespecting the date and the significance of Tulsa to US history.
"This isn't just a wink to white supremacists - he's throwing them a welcome home party," said Democratic Senator Kamala Harris.
Explaining the decision to move his rally, Mr Trump tweeted: "Many of my African American friends and supporters have reached out to suggest that we consider changing the date out of respect for this Holiday, and in observance of this important occasion and all that it represents. I have therefore decided to move our rally to Saturday, June 20th, in order to honor their requests..."
Why is Trump holding a rally?
The "Make America Great Again" rally in Tulsa will be the president's first campaign event since 2 March, when the coronavirus pandemic put a halt to mass gatherings.
Mr Trump is seeking re-election in November 2020, but polls show him lagging behind his Democratic rival, Joe Biden.
Campaign rallies are seen as a key method of energising his base, and Oklahoma is traditionally a Republican-voting state.
The event will proceed against a backdrop of ongoing protests against racial inequality and police brutality, triggered by the death of African American man George Floyd on 25 May. Mr Floyd, who was unarmed, died in police custody in Minneapolis, Minnesota after a policeman knelt on his neck for almost nine minutes.
The rally is being held in a 19,000-seat indoor arena, and concerns have been raised about the potential risks.
The US has the world's highest official death toll from coronavirus. More than 114,600 people have died there with the virus, according to data from Johns Hopkins University, and there have been more than two million confirmed infections.
Oklahoma has one of the country's lowest infection rates, and businesses are reopening - but the state's Governor Kevin Stitt has urged residents to keep social distancing and to "minimise time spent in crowded environments".
People buying tickets for the Tulsa rally online have to click on a waiver confirming that they "voluntarily assume all risks related to exposure to Covid-19" and will not hold the president's campaign responsible for "any illness or injury".
Correspondents say that while the virus remains a threat, Mr Trump's campaign considers that large crowds at the recent protests will make it harder for his opponents to criticise his rallies.
The president has said he plans to hold further events in Florida, Texas, North Carolina and Arizona.