diff --git a/arkindex/process/serializers/worker_runs.py b/arkindex/process/serializers/worker_runs.py
index 6687a0a5a4d4045acf64281e7a0de7f43c76cc01..47c2a0b4b55799c700dbc8d1a1bb3d7cbc847d12 100644
--- a/arkindex/process/serializers/worker_runs.py
+++ b/arkindex/process/serializers/worker_runs.py
@@ -218,15 +218,13 @@ class WorkerRunEditSerializer(WorkerRunSerializer):
         # Same as WorkerRunSerializer, but the worker_version_id cannot be edited
         fields = tuple(set(WorkerRunSerializer.Meta.fields) - {"worker_version_id"})
 
-    def validate(self, data):
-        data = super().validate(data)
-        use_gpu = data.get("use_gpu", False)
+    def validate_use_gpu(self, use_gpu):
         worker_version = self.instance.version
         if worker_version.gpu_usage == FeatureUsage.Disabled and use_gpu:
-            raise ValidationError({"use_gpu": ["This worker version does not support GPU usage."]})
+            raise ValidationError("This worker version does not support GPU usage.")
         if worker_version.gpu_usage == FeatureUsage.Required and not use_gpu:
-            raise ValidationError({"use_gpu": ["This worker version requires GPU usage."]})
-        return data
+            raise ValidationError("This worker version requires GPU usage.")
+        return use_gpu
 
 
 class UserWorkerRunSerializer(serializers.ModelSerializer):
diff --git a/arkindex/process/tests/test_workerruns_use_gpu.py b/arkindex/process/tests/test_workerruns_use_gpu.py
index 0d8f9663e2c3204847a328c6c441c37c5205e02a..fb14490533ae56dce87d3831bcc8121a25b3ecfe 100644
--- a/arkindex/process/tests/test_workerruns_use_gpu.py
+++ b/arkindex/process/tests/test_workerruns_use_gpu.py
@@ -174,7 +174,7 @@ class TestWorkerRunsGPU(FixtureAPITestCase):
                     parents=[]
                 )
                 self.assertEqual(run.use_gpu, True if worker_version.gpu_usage == FeatureUsage.Required else False)
-                with self.assertNumQueries(4):
+                with self.assertNumQueries(3):
                     response = self.client.patch(
                         reverse("api:worker-run-details", kwargs={"pk": str(run.id)}),
                         data={"use_gpu": use_gpu}