diff --git a/install/adb_install.cpp b/install/adb_install.cpp
index cf2fe60..9101e40 100644
--- a/install/adb_install.cpp
+++ b/install/adb_install.cpp
@@ -363,7 +363,7 @@
 
   RecoveryUI* ui = device->GetUI();
 
-  InstallResult install_result = INSTALL_ERROR;
+  InstallResult install_result = INSTALL_NONE;
   std::map<MinadbdCommand, CommandFunction> command_map{
     { MinadbdCommand::kInstall, std::bind(&AdbInstallPackageHandler, device, &install_result) },
     { MinadbdCommand::kRebootAndroid, std::bind(&AdbRebootHandler, MinadbdCommand::kRebootAndroid,
diff --git a/install/fuse_install.cpp b/install/fuse_install.cpp
index 09d04a8..a7c5824 100644
--- a/install/fuse_install.cpp
+++ b/install/fuse_install.cpp
@@ -212,14 +212,14 @@
   auto ui = device->GetUI();
   if (ensure_path_mounted(SDCARD_ROOT) != 0) {
     LOG(ERROR) << "\n-- Couldn't mount " << SDCARD_ROOT << ".\n";
-    return INSTALL_ERROR;
+    return INSTALL_NONE;
   }
 
   std::string path = BrowseDirectory(SDCARD_ROOT, device, ui);
   if (path.empty()) {
     LOG(ERROR) << "\n-- No package file selected.\n";
     ensure_path_unmounted(SDCARD_ROOT);
-    return INSTALL_ERROR;
+    return INSTALL_NONE;
   }
 
   // Hint the install function to read from a block map file.
