diff --git a/common/error_code.h b/common/error_code.h
index 2bbdcfa..32155f2 100644
--- a/common/error_code.h
+++ b/common/error_code.h
@@ -71,6 +71,7 @@
   kUnsupportedMinorPayloadVersion = 45,
   kOmahaRequestXMLHasEntityDecl = 46,
   kFilesystemVerifierError = 47,
+  kUserCanceled = 48,
 
   // VERY IMPORTANT! When adding new error codes:
   //
@@ -122,8 +123,8 @@
   // Mask that indicates bit positions that are used to indicate special flags
   // that are embedded in the error code to provide additional context about
   // the system in which the error was encountered.
-  kSpecialFlags = (kDevModeFlag | kResumedFlag | kTestImageFlag |
-                   kTestOmahaUrlFlag)
+  kSpecialFlags =
+      (kDevModeFlag | kResumedFlag | kTestImageFlag | kTestOmahaUrlFlag)
 };
 
 inline std::ostream& operator<<(std::ostream& os, ErrorCode val) {
diff --git a/common/utils.cc b/common/utils.cc
index 41a75f8..a09b425 100644
--- a/common/utils.cc
+++ b/common/utils.cc
@@ -1110,6 +1110,8 @@
       return "ErrorCode::kOmahaRequestXMLHasEntityDecl";
     case ErrorCode::kFilesystemVerifierError:
       return "ErrorCode::kFilesystemVerifierError";
+    case ErrorCode::kUserCanceled:
+      return "ErrorCode::kUserCanceled";
     // Don't add a default case to let the compiler warn about newly added
     // error codes which should be added here.
   }
diff --git a/metrics.h b/metrics.h
index ec9d880..bb9fa5e 100644
--- a/metrics.h
+++ b/metrics.h
@@ -149,6 +149,7 @@
   kVerificationFailed,          // Root or Kernel partition verification failed.
   kPostInstallFailed,           // The postinstall step failed.
   kAbnormalTermination,         // The attempt ended abnormally.
+  kUpdateCanceled,              // Update canceled by the user.
 
   kNumConstants,
 
diff --git a/metrics_utils.cc b/metrics_utils.cc
index eb99c7d..11260fc 100644
--- a/metrics_utils.cc
+++ b/metrics_utils.cc
@@ -85,6 +85,9 @@
     case ErrorCode::kPostinstallFirmwareRONotUpdatable:
       return metrics::AttemptResult::kPostInstallFailed;
 
+    case ErrorCode::kUserCanceled:
+      return metrics::AttemptResult::kUpdateCanceled;
+
     // We should never get these errors in the update-attempt stage so
     // return internal error if this happens.
     case ErrorCode::kError:
@@ -201,6 +204,7 @@
     case ErrorCode::kUnsupportedMinorPayloadVersion:
     case ErrorCode::kOmahaRequestXMLHasEntityDecl:
     case ErrorCode::kFilesystemVerifierError:
+    case ErrorCode::kUserCanceled:
       break;
 
     // Special flags. These can't happen (we mask them out above) but
diff --git a/payload_state.cc b/payload_state.cc
index d7ccee5..38a36f9 100644
--- a/payload_state.cc
+++ b/payload_state.cc
@@ -340,6 +340,7 @@
     case ErrorCode::kUpdateCanceledByChannelChange:
     case ErrorCode::kOmahaRequestXMLHasEntityDecl:
     case ErrorCode::kFilesystemVerifierError:
+    case ErrorCode::kUserCanceled:
       LOG(INFO) << "Not incrementing URL index or failure count for this error";
       break;
 
@@ -608,6 +609,7 @@
     case metrics::AttemptResult::kVerificationFailed:
     case metrics::AttemptResult::kPostInstallFailed:
     case metrics::AttemptResult::kAbnormalTermination:
+    case metrics::AttemptResult::kUpdateCanceled:
     case metrics::AttemptResult::kNumConstants:
     case metrics::AttemptResult::kUnset:
       break;
diff --git a/payload_state_unittest.cc b/payload_state_unittest.cc
index a8067dc..4490637 100644
--- a/payload_state_unittest.cc
+++ b/payload_state_unittest.cc
@@ -101,17 +101,6 @@
 
 class PayloadStateTest : public ::testing::Test { };
 
-TEST(PayloadStateTest, DidYouAddANewErrorCode) {
-  if (static_cast<int>(ErrorCode::kUmaReportedMax) != 48) {
-    LOG(ERROR) << "The following failure is intentional. If you added a new "
-               << "ErrorCode enum value, make sure to add it to the "
-               << "PayloadState::UpdateFailed method and then update this test "
-               << "to the new value of ErrorCode::kUmaReportedMax, which is "
-               << ErrorCode::kUmaReportedMax;
-    EXPECT_FALSE("Please see the log line above");
-  }
-}
-
 TEST(PayloadStateTest, SetResponseWorksWithEmptyResponse) {
   OmahaResponse response;
   FakeSystemState fake_system_state;
diff --git a/update_manager/chromeos_policy.cc b/update_manager/chromeos_policy.cc
index e3d99d0..9abb21f 100644
--- a/update_manager/chromeos_policy.cc
+++ b/update_manager/chromeos_policy.cc
@@ -129,6 +129,7 @@
     case ErrorCode::kUpdateCanceledByChannelChange:
     case ErrorCode::kOmahaRequestXMLHasEntityDecl:
     case ErrorCode::kFilesystemVerifierError:
+    case ErrorCode::kUserCanceled:
       LOG(INFO) << "Not changing URL index or failure count due to error "
                 << chromeos_update_engine::utils::CodeToString(err_code)
                 << " (" << static_cast<int>(err_code) << ")";
@@ -137,7 +138,7 @@
     case ErrorCode::kSuccess:                            // success code
     case ErrorCode::kUmaReportedMax:                     // not an error code
     case ErrorCode::kOmahaRequestHTTPResponseBase:       // aggregated already
-    case ErrorCode::kDevModeFlag:                       // not an error code
+    case ErrorCode::kDevModeFlag:                        // not an error code
     case ErrorCode::kResumedFlag:                        // not an error code
     case ErrorCode::kTestImageFlag:                      // not an error code
     case ErrorCode::kTestOmahaUrlFlag:                   // not an error code
