diff --git a/src/pretix/control/templates/pretixcontrol/orders/index.html b/src/pretix/control/templates/pretixcontrol/orders/index.html
index b86a5e1477..364410e45e 100644
--- a/src/pretix/control/templates/pretixcontrol/orders/index.html
+++ b/src/pretix/control/templates/pretixcontrol/orders/index.html
@@ -1,6 +1,7 @@
{% extends "pretixcontrol/event/base.html" %}
{% load i18n %}
{% load eventurl %}
+{% load urlreplace %}
{% block title %}{% trans "Orders" %}{% endblock %}
{% block content %}
{% trans "Orders" %}
@@ -72,11 +73,16 @@
- | {% trans "Order code" %} |
- {% trans "User" %} |
- {% trans "Order total" %} |
- {% trans "Order date" %} |
- {% trans "Status" %} |
+ {% trans "Order code" %}
+ |
+ {% trans "User" %}
+ |
+ {% trans "Order total" %}
+ |
+ {% trans "Order date" %}
+ |
+ {% trans "Status" %}
+ |
diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py
index 4e573b5e08..7a40357d44 100644
--- a/src/pretix/control/views/orders.py
+++ b/src/pretix/control/views/orders.py
@@ -69,6 +69,12 @@ class OrderList(EventPermissionRequiredMixin, ListView):
if self.request.GET.get("provider", "") != "":
p = self.request.GET.get("provider", "")
qs = qs.filter(payment_provider=p)
+ if self.request.GET.get("ordering", "") != "":
+ p = self.request.GET.get("ordering", "")
+ p_admissable = ('-code', 'code', '-email', 'email', '-total', 'total', '-datetime', 'datetime', '-status', 'status')
+ if p in p_admissable:
+ qs = qs.order_by(p)
+
return qs.distinct()
def get_payment_providers(self):