diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index b4dd6cd3b6..68184273a2 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -1026,7 +1026,8 @@ class OrderRefundView(OrderView): if any_success: if self.start_form.cleaned_data.get('action') == 'mark_refunded': - mark_order_refunded(self.order, user=self.request.user) + if self.order.cancel_allowed(): + mark_order_refunded(self.order, user=self.request.user) elif self.start_form.cleaned_data.get('action') == 'mark_pending': if not (self.order.status == Order.STATUS_PAID and self.order.pending_sum <= 0): self.order.status = Order.STATUS_PENDING