diff --git a/client_library/include/update_engine/update_status.h b/client_library/include/update_engine/update_status.h
index d53daab..41fab48 100644
--- a/client_library/include/update_engine/update_status.h
+++ b/client_library/include/update_engine/update_status.h
@@ -50,8 +50,9 @@
 DECLARE_FLAGS_ENUM(UpdateAttemptFlags);
 
 struct UpdateEngineStatus {
-  // When the update_engine last checked for updates (ms since Epoch)
-  int64_t last_checked_time_ms;
+  // When the update_engine last checked for updates (time_t: seconds from unix
+  // epoch)
+  int64_t last_checked_time;
   // the current status/operation of the update_engine
   UpdateStatus status;
   // the current product version (oem bundle id)
diff --git a/parcelable_update_engine_status.cc b/parcelable_update_engine_status.cc
index d3e7eaa..8a2dbeb 100644
--- a/parcelable_update_engine_status.cc
+++ b/parcelable_update_engine_status.cc
@@ -26,7 +26,7 @@
 
 ParcelableUpdateEngineStatus::ParcelableUpdateEngineStatus(
     const UpdateEngineStatus& status)
-    : last_checked_time_(status.last_checked_time_ms),
+    : last_checked_time_(status.last_checked_time),
       current_operation_(
           chromeos_update_engine::UpdateStatusToString(status.status)),
       progress_(status.progress),
diff --git a/parcelable_update_engine_status.h b/parcelable_update_engine_status.h
index 2050622..82006e4 100644
--- a/parcelable_update_engine_status.h
+++ b/parcelable_update_engine_status.h
@@ -39,7 +39,7 @@
 
   // This list is kept in the Parcelable serialization order.
 
-  // When the update_engine last checked for updates (ms since Epoch)
+  // When the update_engine last checked for updates (seconds since unix Epoch)
   int64_t last_checked_time_;
   // The current status/operation of the update_engine.
   android::String16 current_operation_;
diff --git a/parcelable_update_engine_status_unittest.cc b/parcelable_update_engine_status_unittest.cc
index 3e6f7eb..f4bd518 100644
--- a/parcelable_update_engine_status_unittest.cc
+++ b/parcelable_update_engine_status_unittest.cc
@@ -40,8 +40,7 @@
                                   "2.3.4.5",
                                   "3.4.5.6"};
   ParcelableUpdateEngineStatus parcelable_status(ue_status);
-  EXPECT_EQ(ue_status.last_checked_time_ms,
-            parcelable_status.last_checked_time_);
+  EXPECT_EQ(ue_status.last_checked_time, parcelable_status.last_checked_time_);
   EXPECT_EQ(
       String16{chromeos_update_engine::UpdateStatusToString(ue_status.status)},
       parcelable_status.current_operation_);
diff --git a/update_attempter.cc b/update_attempter.cc
index a6f9fa5..5c9c44a 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -1170,7 +1170,7 @@
 }
 
 bool UpdateAttempter::GetStatus(UpdateEngineStatus* out_status) {
-  out_status->last_checked_time_ms = last_checked_time_;
+  out_status->last_checked_time = last_checked_time_;
   out_status->status = status_;
   out_status->current_version = omaha_request_params_->app_version();
   out_status->current_system_version = omaha_request_params_->system_version();
diff --git a/update_manager/real_updater_provider.cc b/update_manager/real_updater_provider.cc
index efa3609..050bd42 100644
--- a/update_manager/real_updater_provider.cc
+++ b/update_manager/real_updater_provider.cc
@@ -73,7 +73,7 @@
 
   inline bool is_success() { return is_success_; }
   inline int64_t last_checked_time() {
-    return update_engine_status_.last_checked_time_ms;
+    return update_engine_status_.last_checked_time;
   }
   inline double progress() { return update_engine_status_.progress; }
   inline const string update_status() {
diff --git a/update_manager/real_updater_provider_unittest.cc b/update_manager/real_updater_provider_unittest.cc
index 72e664b..efe042c 100644
--- a/update_manager/real_updater_provider_unittest.cc
+++ b/update_manager/real_updater_provider_unittest.cc
@@ -69,8 +69,8 @@
   return Time::FromLocalExploded(exp);
 }
 
-ACTION_P(ActionSetUpdateEngineStatusLastCheckedTime, time_ms) {
-  arg0->last_checked_time_ms = time_ms;
+ACTION_P(ActionSetUpdateEngineStatusLastCheckedTime, time) {
+  arg0->last_checked_time = time;
 };
 
 ACTION_P(ActionSetUpdateEngineStatusProgress, progress) {
