```diff --git a/src/rust/engine/process_execution/...
# development
r
Copy code
diff --git a/src/rust/engine/process_execution/src/remote.rs b/src/rust/engine/process_execution/src/remote.rs
index d193a48..d936bad 100644
--- a/src/rust/engine/process_execution/src/remote.rs
+++ b/src/rust/engine/process_execution/src/remote.rs
@@ -332,30 +332,43 @@ impl CommandRunner {
     &self,
     execute_response: &bazel_protos::remote_execution::ExecuteResponse,
   ) -> BoxFuture<Bytes, ExecutionError> {
-    let stdout = if execute_response.get_result().has_stdout_digest() {
-      let stdout_digest = execute_response.get_result().get_stdout_digest().into();
+    let stdout_digest = if execute_response.get_result().has_stdout_digest() {
+      execute_response.get_result().get_stdout_digest() // -> &Digest ?
+    } else {
+      let stdout_raw = Bytes::from(execute_response.get_result().get_stdout_raw());
       self
         .store
-        .load_file_bytes_with(stdout_digest, |v| v)
+        .store_file_bytes(stdout_raw, true)
         .map_err(move |error| {
           ExecutionError::Fatal(format!(
-            "Error fetching stdout digest ({:?}): {:?}",
-            stdout_digest, error
+            "Error storing raw stdout ({:?}): {:?}",
+            stdout_raw,
+            error
           ))
         })
-        .and_then(move |maybe_value| match maybe_value {
-          Some(value) => return Ok(value),
-          None => {
-            return Err(ExecutionError::Fatal(format!(
-              "Couldn't find stdout digest ({:?}), when fetching.",
-              stdout_digest
-            )))
-          }
-        })
-        .to_boxed()
-    } else {
-      future::ok(Bytes::from(execute_response.get_result().get_stdout_raw())).to_boxed()
+        .???
     };
+
+    let stdout = self
+                   .store
+                   .load_file_bytes_with(stdout_digest, |v| v)
+                   .map_err(move |error| {
+                     ExecutionError::Fatal(format!(
+                       "Error fetching stdout digest ({:?}): {:?}",
+                       stdout_digest, error
+                     ))
+                   })
+                   .and_then(move |maybe_value| match maybe_value {
+                     Some(value) => return Ok(value),
+                     None => {
+                       return Err(ExecutionError::Fatal(format!(
+                         "Couldn't find stdout digest ({:?}), when fetching.",
+                         stdout_digest
+                       )))
+                     }
+                   })
+                   .to_boxed();
+
     return stdout;
   }