diff --git a/common/subprocess.cc b/common/subprocess.cc
index bc02abc..1715cb0 100644
--- a/common/subprocess.cc
+++ b/common/subprocess.cc
@@ -282,14 +282,6 @@
   return proc_return_code != brillo::Process::kErrorExitStatus;
 }
 
-bool Subprocess::SubprocessInFlight() {
-  for (const auto& pid_record : subprocess_records_) {
-    if (!pid_record.second->callback.is_null())
-      return true;
-  }
-  return false;
-}
-
 void Subprocess::FlushBufferedLogsAtExit() {
   if (!subprocess_records_.empty()) {
     LOG(INFO) << "We are exiting, but there are still in flight subprocesses!";
diff --git a/common/subprocess.h b/common/subprocess.h
index 7b47176..209158b 100644
--- a/common/subprocess.h
+++ b/common/subprocess.h
@@ -101,9 +101,6 @@
     return *subprocess_singleton_;
   }
 
-  // Returns true iff there is at least one subprocess we're waiting on.
-  bool SubprocessInFlight();
-
   // Tries to log all in flight processes's output. It is used right before
   // exiting the update_engine, probably when the subprocess caused a system
   // shutdown.
