diff --git a/src/buildstream/_scheduler/jobs/jobpickler.py b/src/buildstream/_scheduler/jobs/jobpickler.py
index 13ad2d0..4eb915e 100644
--- a/src/buildstream/_scheduler/jobs/jobpickler.py
+++ b/src/buildstream/_scheduler/jobs/jobpickler.py
@@ -23,6 +23,7 @@
 import pickle
 
 from ..._protos.buildstream.v2.artifact_pb2 import Artifact as ArtifactProto
+from ..._protos.build.bazel.remote.execution.v2.remote_execution_pb2 import Digest as DigestProto
 
 # BuildStream toplevel imports
 from ..._loader import Loader
@@ -100,6 +101,7 @@
     for cls in source_classes:
         pickler.dispatch_table[cls] = _reduce_plugin
     pickler.dispatch_table[ArtifactProto] = _reduce_artifact_proto
+    pickler.dispatch_table[DigestProto] = _reduce_digest_proto
     pickler.dispatch_table[Loader] = _reduce_object
     pickler.dispatch_table[Messenger] = _reduce_object
 
@@ -127,6 +129,18 @@
     return instance
 
 
+def _reduce_digest_proto(instance):
+    assert isinstance(instance, DigestProto)
+    data = instance.SerializeToString()
+    return (_new_digest_proto_from_reduction_args, (data,))
+
+
+def _new_digest_proto_from_reduction_args(data):
+    instance = DigestProto()
+    instance.ParseFromString(data)
+    return instance
+
+
 def _reduce_plugin(plugin):
     project, meta_kind, state = plugin._get_args_for_child_job_pickling()
     assert project
