diff --git a/arkindex/process/serializers/imports.py b/arkindex/process/serializers/imports.py
index a0a56d14300b0330cc2d61c0431aeead5069dfc8..4ed6c396e491f702021dc5a4a06966116e75404a 100644
--- a/arkindex/process/serializers/imports.py
+++ b/arkindex/process/serializers/imports.py
@@ -474,12 +474,7 @@ class StartProcessSerializer(serializers.Serializer):
                 )
 
         else:
-            if validated_data.get("worker_activity"):
-                errors["worker_activity"].append("The process must have workers attached to handle their activity.")
-            if validated_data.get("use_cache"):
-                errors["use_cache"].append("The process must have workers attached to use cached results.")
-            if validated_data.get("use_gpu"):
-                errors["use_gpu"].append("The process must have workers attached to use GPUs.")
+            errors["__all__"].append("The process must have worker runs to be started.")
 
         if errors:
             raise ValidationError(errors)
diff --git a/arkindex/process/tests/test_create_process.py b/arkindex/process/tests/test_create_process.py
index 8ca5e1739af48abc1db490cb914f9792622e204e..63d602657f4ebcb8540f2c6a2c091ac73582dcfe 100644
--- a/arkindex/process/tests/test_create_process.py
+++ b/arkindex/process/tests/test_create_process.py
@@ -116,11 +116,15 @@ class TestCreateProcess(FixtureAPITestCase):
             "element_name_contains": None,
         })
 
+        process.worker_runs.create(
+            version=self.version_1
+        )
+
         # The process needs to be started to produce a workflow
         response = self.client.post(
             reverse("api:process-start", kwargs={"pk": str(process.id)}),
             # The process needs a worker run or thumbnails generation to start
-            {"thumbnails": "true"}
+            {"worker_activity": "true"}
         )
         self.assertEqual(response.status_code, status.HTTP_201_CREATED)
         process.refresh_from_db()
@@ -486,11 +490,15 @@ class TestCreateProcess(FixtureAPITestCase):
         self.assertFalse(process.tasks.exists())
         self.assertEqual(process.elements.get(), page)
 
+        process.worker_runs.create(
+            version=self.version_1
+        )
+
         # The process needs to be started to produce a workflow
         response = self.client.post(
             reverse("api:process-start", kwargs={"pk": str(process.id)}),
             # The process needs a worker run or thumbnails generation to start
-            {"thumbnails": "true"}
+            {"worker_activity": "true"}
         )
         self.assertEqual(response.status_code, status.HTTP_201_CREATED)
         process.refresh_from_db()
diff --git a/arkindex/process/tests/test_processes.py b/arkindex/process/tests/test_processes.py
index 533f1a4d903043bfd8c02ff35fdb0e0381a08511..d08ae86c0defd3a9c2c4ccfaac57bc96b401ae16 100644
--- a/arkindex/process/tests/test_processes.py
+++ b/arkindex/process/tests/test_processes.py
@@ -2167,7 +2167,7 @@ class TestProcesses(FixtureAPITestCase):
 
         self.assertEqual(
             response.json(),
-            {"__all__": ["The process must have worker runs."]},
+            {"__all__": ["The process must have worker runs to be started."]},
         )
 
     def test_start_process_unavailable_worker_version(self):
@@ -2594,9 +2594,7 @@ class TestProcesses(FixtureAPITestCase):
             )
         self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
         self.assertDictEqual(response.json(), {
-            "use_cache": ["The process must have workers attached to use cached results."],
-            "worker_activity": ["The process must have workers attached to handle their activity."],
-            "use_gpu": ["The process must have workers attached to use GPUs."],
+            "__all__": ["The process must have worker runs to be started."]
         })
         process.refresh_from_db()
         self.assertFalse(process.use_cache)