diff --git a/src/pretix/base/forms/questions.py b/src/pretix/base/forms/questions.py
index 21ea5824a4..0227d1247d 100644
--- a/src/pretix/base/forms/questions.py
+++ b/src/pretix/base/forms/questions.py
@@ -350,16 +350,21 @@ class WrappedPhonePrefixSelect(Select):
return super().render(name, value or self.initial, *args, **kwargs)
def get_context(self, name, value, attrs):
- if value and self.choices[1][0] != value:
- matching_choices = len([1 for p, c in self.choices if p == value])
+ choices = list(self.choices)
+ if value and choices[1][0] != value:
+ matching_choices = len([1 for p, c in choices if p == value])
if matching_choices > 1:
# Some countries share a phone prefix, for example +1 is used all over the Americas.
# This causes a UX problem: If the default value or the existing data is +12125552368,
# the widget will just show the first without an explicit country.
- self.choices.insert(1, (value, value))
+ self.choices = [
+ choices[0],
+ (value, value),
+ *choices[1:],
+ ]
context = super().get_context(name, value, attrs)
return context