Thx Tomer!
But this didn't happen in my case.
I removed the layer manually first without success and afterwards I also removed the whole policy.
The layer still exist when I create the policy with the same Name "Olis_Policy" again.
CP will create the first Threat Prevention layer automatically with this name "Olis_Policy Threat Prevention".
When I would like to publish I will get this error immediately:
So the old Threat Prevention layer still exists in the DB somewhere...
What happens if you create a policy with a Threat Prevention layer, delete the whole policy and recreate the policy with the same name again?
Do you experiencing such name uniqueness errors as well?