diff --git a/omaha_request_action.cc b/omaha_request_action.cc
index 9d53a4e..6f9a790 100644
--- a/omaha_request_action.cc
+++ b/omaha_request_action.cc
@@ -88,7 +88,8 @@
       XmlEncode(params.app_version) + "\" "
       "lang=\"" + XmlEncode(params.app_lang) + "\" track=\"" +
       XmlEncode(params.app_track) + "\" board=\"" +
-      XmlEncode(params.os_board) + "\">\n" + body +
+      XmlEncode(params.os_board) + "\" delta_okay=\"" +
+      (params.delta_okay ? "true" : "false") + "\">\n" + body +
       "    </o:app>\n"
       "</o:gupdate>\n";
 }
diff --git a/omaha_request_action_unittest.cc b/omaha_request_action_unittest.cc
index cc37d7a..dedb972 100755
--- a/omaha_request_action_unittest.cc
+++ b/omaha_request_action_unittest.cc
@@ -189,6 +189,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest",
+                            false,  // delta okay
                             "");  // url
   OmahaResponse response;
   ASSERT_TRUE(
@@ -211,6 +212,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "");  // url
   OmahaResponse response;
   ASSERT_TRUE(
@@ -248,6 +250,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest",
+                            false,  // delta okay
                             "");  // url
   const string http_response(GetNoUpdateResponse(OmahaRequestParams::kAppId));
 
@@ -279,6 +282,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_FALSE(
@@ -301,6 +305,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_FALSE(TestUpdateCheck(
@@ -326,6 +331,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_FALSE(TestUpdateCheck(
@@ -351,6 +357,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_FALSE(TestUpdateCheck(
@@ -376,6 +383,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_TRUE(TestUpdateCheck(params,
@@ -437,6 +445,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest",
+                            false,  // delta okay
                             "http://url");
   string http_response("doesn't matter");
   GMainLoop *loop = g_main_loop_new(g_main_context_default(), FALSE);
@@ -475,6 +484,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_FALSE(
@@ -505,6 +515,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_TRUE(
@@ -536,6 +547,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_TRUE(
@@ -568,6 +580,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   OmahaResponse response;
   ASSERT_FALSE(TestUpdateCheck(params,
@@ -595,6 +608,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
   TestEvent(params,
             new OmahaEvent(OmahaEvent::kTypeDownloadComplete,
@@ -626,6 +640,7 @@
                             "0.1.0.0",
                             "en-US",
                             "unittest_track",
+                            false,  // delta okay
                             "http://url");
 
   OmahaRequestAction update_check_action(
@@ -645,4 +660,34 @@
   EXPECT_TRUE(event_action.IsEvent());
 }
 
+TEST(OmahaRequestActionTest, FormatDeltaOkayOutputTest) {
+  for (int i = 0; i < 2; i++) {
+    bool delta_okay = i == 1;
+    const char* delta_okay_str = delta_okay ? "true" : "false";
+    vector<char> post_data;
+    OmahaRequestParams params("machine_id",
+                              "user_id",
+                              OmahaRequestParams::kOsPlatform,
+                              OmahaRequestParams::kOsVersion,
+                              "service_pack",
+                              "x86-generic",
+                              OmahaRequestParams::kAppId,
+                              "0.1.0.0",
+                              "en-US",
+                              "unittest_track",
+                              delta_okay,
+                              "http://url");
+    ASSERT_FALSE(TestUpdateCheck(params,
+                                 "invalid xml>",
+                                 false,
+                                 NULL,
+                                 &post_data));
+    // convert post_data to string
+    string post_str(&post_data[0], post_data.size());
+    EXPECT_NE(post_str.find(StringPrintf(" delta_okay=\"%s\"", delta_okay_str)),
+              string::npos)
+        << "i = " << i;
+  }
+}
+
 }  // namespace chromeos_update_engine
diff --git a/omaha_request_params.cc b/omaha_request_params.cc
index 502f7b0..1ab6f2c 100644
--- a/omaha_request_params.cc
+++ b/omaha_request_params.cc
@@ -38,6 +38,14 @@
   app_id = OmahaRequestParams::kAppId;
   app_lang = "en-US";
   app_track = GetLsbValue("CHROMEOS_RELEASE_TRACK", "");
+  struct stat stbuf;
+  
+  // Deltas are only okay if the /.nodelta file does not exist.
+  // If we don't know (i.e. stat() returns some unexpected error),
+  // then err on the side of caution and say deltas are not okay
+  delta_okay = (stat((root_ + "/.nodelta").c_str(), &stbuf) < 0) &&
+               (errno == ENOENT);
+
   update_url = GetLsbValue("CHROMEOS_AUSERVER",
                            OmahaRequestParams::kUpdateUrl);
   return true;
diff --git a/omaha_request_params.h b/omaha_request_params.h
index 136c60a..fb4196e 100644
--- a/omaha_request_params.h
+++ b/omaha_request_params.h
@@ -29,6 +29,7 @@
                      const std::string& in_app_version,
                      const std::string& in_app_lang,
                      const std::string& in_app_track,
+                     const bool in_delta_okay,
                      const std::string& in_update_url)
       : machine_id(in_machine_id),
         user_id(in_user_id),
@@ -40,6 +41,7 @@
         app_version(in_app_version),
         app_lang(in_app_lang),
         app_track(in_app_track),
+        delta_okay(in_delta_okay),
         update_url(in_update_url) {}
 
   std::string machine_id;
@@ -52,6 +54,7 @@
   std::string app_version;
   std::string app_lang;
   std::string app_track;
+  bool delta_okay;  // If this client can accept a delta
 
   std::string update_url;
 
diff --git a/omaha_request_params_unittest.cc b/omaha_request_params_unittest.cc
index 54d8dbd..200b23b 100644
--- a/omaha_request_params_unittest.cc
+++ b/omaha_request_params_unittest.cc
@@ -98,6 +98,7 @@
     EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
     EXPECT_EQ("0.2.2.3", out.app_version);
     EXPECT_EQ("en-US", out.app_lang);
+    EXPECT_TRUE(out.delta_okay);
     EXPECT_EQ("footrack", out.app_track);
   }
   EXPECT_EQ(0, System(string("rm -rf ") + kTestDir));
@@ -176,4 +177,20 @@
   EXPECT_EQ(0, System(string("rm -rf ") + kTestDir));
 }
 
+TEST_F(OmahaRequestDeviceParamsTest, NoDeltasTest) {
+  ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc"));
+  ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir +
+                      utils::kStatefulPartition + "/etc"));
+  ASSERT_TRUE(WriteFileString(
+      kTestDir + "/etc/lsb-release",
+      "CHROMEOS_RELEASE_FOO=CHROMEOS_RELEASE_VERSION=1.2.3.4\n"
+      "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
+      "CHROMEOS_RELEASE_TRXCK=footrack"));
+  ASSERT_TRUE(WriteFileString(kTestDir + "/.nodelta", ""));
+  OmahaRequestParams out;
+  EXPECT_TRUE(DoTest(&out));
+  EXPECT_FALSE(out.delta_okay);
+  EXPECT_EQ(0, System(string("rm -rf ") + kTestDir));
+}
+
 }  // namespace chromeos_update_engine
