diff --git a/brillo/minijail/minijail.cc b/brillo/minijail/minijail.cc
index b72f41b..0f2efaa 100644
--- a/brillo/minijail/minijail.cc
+++ b/brillo/minijail/minijail.cc
@@ -83,7 +83,13 @@
                        vector<char*> args,
                        pid_t* pid,
                        int* stdin) {
-  return minijail_run_pid_pipe(jail, args[0], args.data(), pid, stdin) == 0;
+#if defined(__ANDROID__)
+  return minijail_run_pid_pipes_no_preload(jail, args[0], args.data(), pid,
+                                           stdin, NULL, NULL) == 0;
+#else
+  return minijail_run_pid_pipes(jail, args[0], args.data(), pid, stdin, NULL,
+                                NULL) == 0;
+#endif  // __ANDROID__
 }
 
 bool Minijail::RunPipes(struct minijail* jail,
@@ -92,8 +98,13 @@
                         int* stdin,
                         int* stdout,
                         int* stderr) {
-  return minijail_run_pid_pipes(
-             jail, args[0], args.data(), pid, stdin, stdout, stderr) == 0;
+#if defined(__ANDROID__)
+  return minijail_run_pid_pipes_no_preload(jail, args[0], args.data(), pid,
+                                           stdin, stdout, stderr) == 0;
+#else
+  return minijail_run_pid_pipes(jail, args[0], args.data(), pid, stdin, stdout,
+                                stderr) == 0;
+#endif  // __ANDROID__
 }
 
 bool Minijail::RunAndDestroy(struct minijail* jail,
diff --git a/brillo/minijail/minijail.h b/brillo/minijail/minijail.h
index a04268d..eaa85a8 100644
--- a/brillo/minijail/minijail.h
+++ b/brillo/minijail/minijail.h
@@ -63,7 +63,7 @@
                        std::vector<char*> args,
                        int* status);
 
-  // minijail_run_pid_pipe
+  // minijail_run_pid_pipes, with |pstdout_fd| and |pstderr_fd| set to NULL.
   virtual bool RunPipe(struct minijail* jail,
                        std::vector<char*> args,
                        pid_t* pid,
