diff --git a/Android.mk b/Android.mk
index acff24a..abe1b83 100644
--- a/Android.mk
+++ b/Android.mk
@@ -65,6 +65,7 @@
 
 LOCAL_STATIC_LIBRARIES := \
     libminui \
+    libotautil \
     libbase
 
 ifneq ($(TARGET_RECOVERY_UI_MARGIN_HEIGHT),)
diff --git a/common.h b/common.h
index 33c5ba0..de536fd 100644
--- a/common.h
+++ b/common.h
@@ -48,6 +48,4 @@
 
 bool is_ro_debuggable();
 
-bool reboot(const std::string& command);
-
 #endif  // RECOVERY_COMMON_H
diff --git a/otautil/Android.bp b/otautil/Android.bp
index 0be019c..b058f7b 100644
--- a/otautil/Android.bp
+++ b/otautil/Android.bp
@@ -48,6 +48,7 @@
 
             static_libs: [
                 "libselinux",
+                "libcutils",
             ],
         },
     },
diff --git a/otautil/include/otautil/sysutil.h b/otautil/include/otautil/sysutil.h
index 52f6d20..649f8ff 100644
--- a/otautil/include/otautil/sysutil.h
+++ b/otautil/include/otautil/sysutil.h
@@ -50,4 +50,8 @@
   std::vector<MappedRange> ranges_;
 };
 
+// Wrapper function to trigger a reboot, by additionally handling quiescent reboot mode. The
+// command should start with "reboot," (e.g. "reboot,bootloader" or "reboot,").
+bool reboot(const std::string& command);
+
 #endif  // _OTAUTIL_SYSUTIL
diff --git a/otautil/sysutil.cpp b/otautil/sysutil.cpp
index e6385c4..ab15130 100644
--- a/otautil/sysutil.cpp
+++ b/otautil/sysutil.cpp
@@ -28,8 +28,10 @@
 
 #include <android-base/file.h>
 #include <android-base/logging.h>
+#include <android-base/properties.h>
 #include <android-base/strings.h>
 #include <android-base/unique_fd.h>
+#include <cutils/android_reboot.h>
 
 bool MemMapping::MapFD(int fd) {
   struct stat sb;
@@ -201,3 +203,11 @@
   };
   ranges_.clear();
 }
+
+bool reboot(const std::string& command) {
+  std::string cmd = command;
+  if (android::base::GetBoolProperty("ro.boot.quiescent", false)) {
+    cmd += ",quiescent";
+  }
+  return android::base::SetProperty(ANDROID_RB_PROPERTY, cmd);
+}
diff --git a/recovery.cpp b/recovery.cpp
index d8f56b8..7219771 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -70,6 +70,7 @@
 #include "otautil/dirutil.h"
 #include "otautil/error_code.h"
 #include "otautil/paths.h"
+#include "otautil/sysutil.h"
 #include "roots.h"
 #include "rotate_logs.h"
 #include "screen_ui.h"
@@ -177,14 +178,6 @@
     return android::base::GetBoolProperty("ro.debuggable", false);
 }
 
-bool reboot(const std::string& command) {
-    std::string cmd = command;
-    if (android::base::GetBoolProperty("ro.boot.quiescent", false)) {
-        cmd += ",quiescent";
-    }
-    return android::base::SetProperty(ANDROID_RB_PROPERTY, cmd);
-}
-
 // command line args come from, in decreasing precedence:
 //   - the actual command line
 //   - the bootloader control block (one per line, after "recovery")
diff --git a/ui.cpp b/ui.cpp
index 3c9ded7..8983d76 100644
--- a/ui.cpp
+++ b/ui.cpp
@@ -36,14 +36,12 @@
 #include <android-base/file.h>
 #include <android-base/logging.h>
 #include <android-base/parseint.h>
-#include <android-base/properties.h>
 #include <android-base/strings.h>
-#include <cutils/android_reboot.h>
 #include <minui/minui.h>
 
-#include "common.h"
-#include "roots.h"
 #include "device.h"
+#include "otautil/sysutil.h"
+#include "roots.h"
 
 static constexpr int UI_WAIT_KEY_TIMEOUT_SEC = 120;
 static constexpr const char* BRIGHTNESS_FILE = "/sys/class/leds/lcd-backlight/brightness";
diff --git a/updater/install.cpp b/updater/install.cpp
index b41d48c..bd22467 100644
--- a/updater/install.cpp
+++ b/updater/install.cpp
@@ -48,7 +48,6 @@
 #include <android-base/strings.h>
 #include <applypatch/applypatch.h>
 #include <bootloader_message/bootloader_message.h>
-#include <cutils/android_reboot.h>
 #include <ext4_utils/wipe.h>
 #include <openssl/sha.h>
 #include <selinux/label.h>
@@ -62,6 +61,7 @@
 #include "otautil/error_code.h"
 #include "otautil/mounts.h"
 #include "otautil/print_sha1.h"
+#include "otautil/sysutil.h"
 #include "updater/updater.h"
 
 // Send over the buffer to recovery though the command pipe.
@@ -874,11 +874,7 @@
     return StringValue("");
   }
 
-  std::string reboot_cmd = "reboot," + property;
-  if (android::base::GetBoolProperty("ro.boot.quiescent", false)) {
-    reboot_cmd += ",quiescent";
-  }
-  android::base::SetProperty(ANDROID_RB_PROPERTY, reboot_cmd);
+  reboot("reboot," + property);
 
   sleep(5);
   return ErrorAbort(state, kRebootFailure, "%s() failed to reboot", name);
