diff --git a/omaha_request_action.cc b/omaha_request_action.cc
index 7ca4372..6ebab0d 100644
--- a/omaha_request_action.cc
+++ b/omaha_request_action.cc
@@ -108,7 +108,7 @@
 constexpr char kValNoUpdate[] = "noupdate";
 
 // updatecheck attributes (without the underscore prefix).
-constexpr char kAttrEol[] = "eol";
+// Deprecated: "eol"
 constexpr char kAttrEolDate[] = "eol_date";
 constexpr char kAttrRollback[] = "rollback";
 constexpr char kAttrFirmwareVersion[] = "firmware_version";
@@ -699,8 +699,8 @@
     }
   }
 
-  // Parse the updatecheck attributes.
-  PersistEolStatus(parser_data->updatecheck_attrs);
+  PersistEolInfo(parser_data->updatecheck_attrs);
+
   // Rollback-related updatecheck attributes.
   // Defaults to false if attribute is not present.
   output_object->is_rollback =
@@ -1317,30 +1317,16 @@
   return true;
 }
 
-bool OmahaRequestAction::PersistEolStatus(const map<string, string>& attrs) {
-  bool ret = true;
-
-  // Set EOL date.
+bool OmahaRequestAction::PersistEolInfo(const map<string, string>& attrs) {
   auto eol_date_attr = attrs.find(kAttrEolDate);
   if (eol_date_attr == attrs.end()) {
     system_state_->prefs()->Delete(kPrefsOmahaEolDate);
   } else if (!system_state_->prefs()->SetString(kPrefsOmahaEolDate,
                                                 eol_date_attr->second)) {
     LOG(ERROR) << "Setting EOL date failed.";
-    ret = false;
+    return false;
   }
-
-  // Set EOL.
-  auto eol_attr = attrs.find(kAttrEol);
-  if (eol_attr == attrs.end()) {
-    system_state_->prefs()->Delete(kPrefsOmahaEolStatus);
-  } else if (!system_state_->prefs()->SetString(kPrefsOmahaEolStatus,
-                                                eol_attr->second)) {
-    LOG(ERROR) << "Setting EOL status failed.";
-    ret = false;
-  }
-
-  return ret;
+  return true;
 }
 
 void OmahaRequestAction::ActionCompleted(ErrorCode code) {
