diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index 42b3d1bdc5..6c7dec7d27 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -1910,10 +1910,9 @@ class OrderPosition(AbstractPosition): if self.tax_rate is None: self._calculate_tax() self.order.touch() - if not self.secret: - with scopes_disabled(): - while OrderPosition.all.filter(secret=self.secret).exists(): - self.secret = generate_position_secret() + if not self.pk: + while OrderPosition.all.filter(secret=self.secret).exists(): + self.secret = generate_position_secret() if not self.pseudonymization_id: self.assign_pseudonymization_id()