diff --git a/src/Campaigns/resources/admin/components/CampaignDetailsPage/index.tsx b/src/Campaigns/resources/admin/components/CampaignDetailsPage/index.tsx index af082b7039..bcfabe32ba 100644 --- a/src/Campaigns/resources/admin/components/CampaignDetailsPage/index.tsx +++ b/src/Campaigns/resources/admin/components/CampaignDetailsPage/index.tsx @@ -125,7 +125,12 @@ export default function CampaignsDetailsPage({campaignId}) { }, [campaign?.status]); const onSubmit: SubmitHandler = async (data) => { - if (formState.isDirty) { + + const shouldSave = formState.isDirty + // Force save if first publish to account for a race condition. + || (campaign.status === 'draft' && data.status === 'active'); + + if (shouldSave) { setIsSaving(data.status); edit(data);