diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index 00434ddc8..442e4ca06 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -551,7 +551,7 @@ class OrderRefundProcess(OrderView): if self.refund.state == OrderRefund.REFUND_STATE_EXTERNAL: self.refund.done(user=self.request.user) - if self.request.POST.get("action") == "r": + if self.request.POST.get("action") == "r" and self.order.status != Order.STATUS_CANCELED: mark_order_refunded(self.order, user=self.request.user) elif not (self.order.status == Order.STATUS_PAID and self.order.pending_sum <= 0): self.order.status = Order.STATUS_PENDING