diff --git a/arkindex/process/models.py b/arkindex/process/models.py
index acd0ff13bd543911a325866efceb94038c48224c..3c0bee0a5b46d457e6b0df84035b55ef8049db79 100644
--- a/arkindex/process/models.py
+++ b/arkindex/process/models.py
@@ -181,7 +181,7 @@ class Process(IndexableModel):
             "corpus_id": self.corpus_id,
         }
         if self.name_contains:
-            filters['name__contains'] = self.name_contains
+            filters['name__icontains'] = self.name_contains
         if self.element_type:
             filters['type_id'] = self.element_type_id
 
diff --git a/arkindex/process/tests/test_process_elements.py b/arkindex/process/tests/test_process_elements.py
index e029b15e982d362deeb78c9974b749c68ead6934..463a700a4028aa0629c60a99f95607defd3bdff2 100644
--- a/arkindex/process/tests/test_process_elements.py
+++ b/arkindex/process/tests/test_process_elements.py
@@ -233,6 +233,29 @@ class TestProcessElements(FixtureAPITestCase):
             for element in elements
         ])
 
+    def test_filter_name_case_insensitive(self):
+        self.process.name_contains = "Rhum"
+        self.process.load_children = True
+        self.process.save()
+        elements = [self.folder_1, self.page_1, self.page_5]
+
+        self.client.force_login(self.superuser)
+        with self.assertNumQueries(6):
+            response = self.client.get(reverse('api:process-elements-list', kwargs={'pk': self.process.id}))
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        data = response.json()
+        self.assertEqual(data["count"], None)
+        self.assertEqual(data["next"], None)
+        self.assertCountEqual(data["results"], [
+            {
+                'id': str(element.id),
+                'type_id': str(element.type_id),
+                'name': element.name,
+                'confidence': element.confidence,
+            }
+            for element in elements
+        ])
+
     def test_filter_name_from_element(self):
         self.process.element = self.folder_1
         self.process.name_contains = "rhum"