diff --git a/api/funkwhale_api/tags/views.py b/api/funkwhale_api/tags/views.py
index d7b1d8aa52880c58c41db130e9eebc490e130a7d..1d052ca7b2d71f7c9a9d351e244bdc2152842853 100644
--- a/api/funkwhale_api/tags/views.py
+++ b/api/funkwhale_api/tags/views.py
@@ -1,6 +1,8 @@
 from django.db.models import functions
 from rest_framework import viewsets
 
+import django_filters.rest_framework
+
 from funkwhale_api.users.oauth import permissions as oauth_permissions
 
 from . import filters
@@ -20,3 +22,4 @@ class TagViewSet(viewsets.ReadOnlyModelViewSet):
     required_scope = "libraries"
     anonymous_policy = "setting"
     filterset_class = filters.TagFilter
+    filter_backends = [django_filters.rest_framework.DjangoFilterBackend]
diff --git a/api/tests/tags/test_views.py b/api/tests/tags/test_views.py
index fd3246adb91301567bc3166b5af267279d9ad188..b42e9ab3713e66dc1759c7bc7e5d76e697ee9616 100644
--- a/api/tests/tags/test_views.py
+++ b/api/tests/tags/test_views.py
@@ -23,18 +23,21 @@ def test_tags_list_ordering_length(factories, logged_in_api_client):
     url = reverse("api:v1:tags-list")
     tags = [
         factories["tags.Tag"](name="iamareallylongtag"),
-        factories["tags.Tag"](name="reallylongtag"),
         factories["tags.Tag"](name="short"),
+        factories["tags.Tag"](name="reallylongtag"),
         factories["tags.Tag"](name="bar"),
     ]
     expected = {
         "count": 4,
         "next": None,
         "previous": None,
-        "results": [serializers.TagSerializer(tag).data for tag in tags],
+        "results": [
+            serializers.TagSerializer(tag).data
+            for tag in [tags[3], tags[1], tags[2], tags[0]]
+        ],
     }
 
-    response = logged_in_api_client.get(url, {"ordering": "-length"})
+    response = logged_in_api_client.get(url, {"ordering": "length"})
 
     assert response.data == expected