diff --git a/omaha_response_handler_action.cc b/omaha_response_handler_action.cc
index e512d13..9ad73d6 100644
--- a/omaha_response_handler_action.cc
+++ b/omaha_response_handler_action.cc
@@ -35,12 +35,10 @@
 
 namespace chromeos_update_engine {
 
-const char OmahaResponseHandlerAction::kDeadlineFile[] =
-    "/tmp/update-check-response-deadline";
-
 OmahaResponseHandlerAction::OmahaResponseHandlerAction(
     SystemState* system_state)
-    : OmahaResponseHandlerAction(system_state, kDeadlineFile) {}
+    : OmahaResponseHandlerAction(system_state,
+                                 constants::kOmahaResponseDeadlineFile) {}
 
 OmahaResponseHandlerAction::OmahaResponseHandlerAction(
     SystemState* system_state, const string& deadline_file)
@@ -127,10 +125,12 @@
   // file. Ideally, we would include this information in D-Bus's GetStatus
   // method and UpdateStatus signal. A potential issue is that update_engine may
   // be unresponsive during an update download.
-  utils::WriteFile(deadline_file_.c_str(),
-                   response.deadline.data(),
-                   response.deadline.size());
-  chmod(deadline_file_.c_str(), S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+  if (!deadline_file_.empty()) {
+    utils::WriteFile(deadline_file_.c_str(),
+                     response.deadline.data(),
+                     response.deadline.size());
+    chmod(deadline_file_.c_str(), S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+  }
 
   completer.set_code(ErrorCode::kSuccess);
 }
diff --git a/omaha_response_handler_action.h b/omaha_response_handler_action.h
index 5611375..3cdeb67 100644
--- a/omaha_response_handler_action.h
+++ b/omaha_response_handler_action.h
@@ -42,8 +42,6 @@
 
 class OmahaResponseHandlerAction : public Action<OmahaResponseHandlerAction> {
  public:
-  static const char kDeadlineFile[];
-
   explicit OmahaResponseHandlerAction(SystemState* system_state);
 
   typedef ActionTraits<OmahaResponseHandlerAction>::InputObjectType
diff --git a/omaha_response_handler_action_unittest.cc b/omaha_response_handler_action_unittest.cc
index c97ef9e..d103cbc 100644
--- a/omaha_response_handler_action_unittest.cc
+++ b/omaha_response_handler_action_unittest.cc
@@ -112,7 +112,7 @@
   OmahaResponseHandlerAction response_handler_action(
       &fake_system_state_,
       (test_deadline_file.empty() ?
-       OmahaResponseHandlerAction::kDeadlineFile : test_deadline_file));
+       constants::kOmahaResponseDeadlineFile : test_deadline_file));
   BondActions(&feeder_action, &response_handler_action);
   ObjectCollectorAction<InstallPlan> collector_action;
   BondActions(&response_handler_action, &collector_action);
diff --git a/platform_constants.h b/platform_constants.h
index 0c832c9..189d134 100644
--- a/platform_constants.h
+++ b/platform_constants.h
@@ -38,6 +38,10 @@
 // whole payload.
 extern const char kUpdatePayloadPublicKeyPath[];
 
+// Path to the file used to notify chrome about the deadline of the last omaha
+// response. Empty if not supported.
+extern const char kOmahaResponseDeadlineFile[];
+
 }  // namespace constants
 }  // namespace chromeos_update_engine
 
diff --git a/platform_constants_android.cc b/platform_constants_android.cc
index be0329b..b6ee29f 100644
--- a/platform_constants_android.cc
+++ b/platform_constants_android.cc
@@ -27,6 +27,8 @@
 const char kOmahaPlatformName[] = "Brillo";
 const char kUpdatePayloadPublicKeyPath[] =
     "/etc/update_engine/update-payload-key.pub.pem";
+// No deadline file API support on Android.
+const char kOmahaResponseDeadlineFile[] = "";
 
 }  // namespace constants
 }  // namespace chromeos_update_engine
diff --git a/platform_constants_chromeos.cc b/platform_constants_chromeos.cc
index 2a6ce12..d7aeca5 100644
--- a/platform_constants_chromeos.cc
+++ b/platform_constants_chromeos.cc
@@ -27,6 +27,8 @@
 const char kOmahaPlatformName[] = "Chrome OS";
 const char kUpdatePayloadPublicKeyPath[] =
     "/usr/share/update_engine/update-payload-key.pub.pem";
+const char kOmahaResponseDeadlineFile[] =
+    "/tmp/update-check-response-deadline";
 
 }  // namespace constants
 }  // namespace chromeos_update_engine
