diff --git a/src/pretix/base/models/items.py b/src/pretix/base/models/items.py index 79f1229d15..804bfde85a 100644 --- a/src/pretix/base/models/items.py +++ b/src/pretix/base/models/items.py @@ -1070,10 +1070,8 @@ class Item(LoggedModel): replace_year = valid_until.year replace_month = valid_until.month + self.validity_dynamic_duration_months - - while replace_month > 12: - replace_month -= 12 - replace_year += 1 + replace_year += (replace_month - 1) // 12 + replace_month = ((replace_month - 1) % 12) + 1 max_day = calendar.monthrange(replace_year, replace_month)[1] replace_date = date( year=replace_year,