diff --git a/scipost/templatetags/request_filters.py b/scipost/templatetags/request_filters.py
new file mode 100644
index 0000000000000000000000000000000000000000..d28599705956a345fecefd81acf1492296bc6e14
--- /dev/null
+++ b/scipost/templatetags/request_filters.py
@@ -0,0 +1,11 @@
+from django import template
+from urllib.parse import urlencode
+
+register = template.Library()
+
+
+@register.simple_tag(takes_context=True)
+def url_replace(context, **kwargs):
+    query = context['request'].GET.dict()
+    query.update(kwargs)
+    return urlencode(query)
diff --git a/submissions/templates/submissions/submissions.html b/submissions/templates/submissions/submissions.html
index 1d29d503065e859f7a87e05beb1eb84ac1dbf539..0307dacacd39c88bd18e39a2e497de1c92868d6e 100644
--- a/submissions/templates/submissions/submissions.html
+++ b/submissions/templates/submissions/submissions.html
@@ -2,6 +2,7 @@
 
 {% load bootstrap %}
 {% load submissions_extras %}
+{% load request_filters %}
 
 {% block pagetitle %}: Submissions{% endblock pagetitle %}
 
diff --git a/submissions/templatetags/submissions_extras.py b/submissions/templatetags/submissions_extras.py
index 79686f573f04e59b67b70b095201c4931dff6fdd..7460a3c30745b62cf6f7ce4f29aff1f7bc5ab83b 100644
--- a/submissions/templatetags/submissions_extras.py
+++ b/submissions/templatetags/submissions_extras.py
@@ -79,9 +79,3 @@ def required_actions(submission):
             todo.append('The Report from %s has been delivered but is not yet vetted. '
                         'Please vet it.' % report.author)
     return todo
-
-@register.simple_tag(takes_context=True)
-def url_replace(context, **kwargs):
-    query = context['request'].GET.dict()
-    query.update(kwargs)
-    return urlencode(query)