diff --git a/smash/web/api_views/subject.py b/smash/web/api_views/subject.py
index f5eed511a6803c18a79d89643ae294ae40b30da8..0d089e2362127bfc07f103096df5085e39cc2d51 100644
--- a/smash/web/api_views/subject.py
+++ b/smash/web/api_views/subject.py
@@ -283,9 +283,9 @@ def subjects(request, type):
 
         count = all_subjects.count()
 
-        ordered_subjects = get_subjects_order(all_subjects, order_column, order_dir)
-        filtered_subjects = get_subjects_filtered(ordered_subjects, filters)
-        sliced_subjects = filtered_subjects[start:(start + length)]
+        filtered_subjects = get_subjects_filtered(all_subjects, filters)
+        ordered_subjects = get_subjects_order(filtered_subjects, order_column, order_dir)
+        sliced_subjects = ordered_subjects[start:(start + length)]
 
         result_subjects = sliced_subjects