diff --git a/centipede/centipede.cc b/centipede/centipede.cc
index 43414f1..71d37e8 100644
--- a/centipede/centipede.cc
+++ b/centipede/centipede.cc
@@ -318,11 +318,6 @@
         ExecuteAndReportCrash(extra_binary, input_vec, extra_batch_result) &&
         success;
   }
-  if (!success && env_.exit_on_crash) {
-    LOG(INFO) << "--exit_on_crash is enabled; exiting soon";
-    RequestEarlyExit(EXIT_FAILURE);
-    return false;
-  }
   CHECK_EQ(batch_result.results().size(), input_vec.size());
   num_runs_ += input_vec.size();
   bool batch_gained_new_coverage = false;
@@ -833,6 +828,10 @@
       CHECK(file != nullptr) << log_prefix << "Failed to open " << file_path;
       RemoteFileAppend(file, one_input);
       RemoteFileClose(file);
+      if (env_.exit_on_crash) {
+        LOG(INFO) << "--exit_on_crash is enabled; exiting soon.";
+        RequestEarlyExit(EXIT_FAILURE);
+      }
       return;
     }
   }
diff --git a/fuzztest/BUILD b/fuzztest/BUILD
index 1db39cc..8db2b13 100644
--- a/fuzztest/BUILD
+++ b/fuzztest/BUILD
@@ -103,7 +103,7 @@
         ":fixture_driver",
         ":logging",
         ":runtime",
-        "@com_google_absl//absl/strings:str_format",
+        "@com_google_absl//absl/algorithm:container",
         "@com_google_fuzztest//centipede:centipede_runner_no_main",
     ],
 )
diff --git a/fuzztest/internal/centipede_adaptor.cc b/fuzztest/internal/centipede_adaptor.cc
index f00295a..47d6927 100644
--- a/fuzztest/internal/centipede_adaptor.cc
+++ b/fuzztest/internal/centipede_adaptor.cc
@@ -25,6 +25,7 @@
 #include <utility>
 #include <vector>
 
+#include "absl/algorithm/container.h"
 #include "./centipede/runner_interface.h"
 #include "./fuzztest/internal/domains/domain_base.h"
 #include "./fuzztest/internal/logging.h"
@@ -66,6 +67,21 @@
     return false;
   }
 
+  void GetSeeds(
+      std::function<void(centipede::ByteSpan)> seed_callback) override {
+    std::vector<GenericDomainCorpusType> seeds =
+        fuzzer_impl_.fixture_driver_->GetSeeds();
+    absl::c_shuffle(seeds, prng_);
+    if (seeds.empty())
+      seeds.push_back(fuzzer_impl_.params_domain_->UntypedInit(prng_));
+    for (const auto& seed : seeds) {
+      const auto seed_serialized =
+          fuzzer_impl_.params_domain_->UntypedSerializeCorpus(seed).ToString();
+      seed_callback(
+          {(unsigned char*)seed_serialized.data(), seed_serialized.size()});
+    }
+  }
+
   bool Mutate(
       const std::vector<centipede::MutationInputRef>& inputs,
       size_t num_mutants,
