diff --git a/aosp/update_attempter_android.cc b/aosp/update_attempter_android.cc
index f9e0d11..555ed33 100644
--- a/aosp/update_attempter_android.cc
+++ b/aosp/update_attempter_android.cc
@@ -347,8 +347,8 @@
               << headers[kPayloadPropertyNetworkProxy];
     fetcher->SetProxies({headers[kPayloadPropertyNetworkProxy]});
   }
-  if (!headers[kPayloadDisableVABC].empty()) {
-    install_plan_.disable_vabc = true;
+  if (!headers[kPayloadVABCNone].empty()) {
+    install_plan_.vabc_none = true;
   }
   if (!headers[kPayloadEnableThreading].empty()) {
     install_plan_.enable_threading = true;
diff --git a/common/constants.h b/common/constants.h
index 36c4476..dc45e72 100644
--- a/common/constants.h
+++ b/common/constants.h
@@ -178,7 +178,7 @@
 
 // Set Virtual AB Compression's compression algorithm to "none", but still use
 // userspace snapshots and snapuserd for update installation.
-static constexpr const auto& kPayloadDisableVABC = "DISABLE_VABC";
+static constexpr const auto& kPayloadVABCNone = "VABC_NONE";
 // Enable multi-threaded compression for VABC
 static constexpr const auto& kPayloadEnableThreading = "ENABLE_THREADING";
 // Enable batched writes for VABC
diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc
index 0ec6a38..26c3d59 100644
--- a/payload_consumer/delta_performer.cc
+++ b/payload_consumer/delta_performer.cc
@@ -489,8 +489,8 @@
     // update estimate_cow_size if VABC is disabled
     // new_cow_size per partition = partition_size - (#blocks in Copy
     // operations part of the partition)
-    if (install_plan_->disable_vabc) {
-      LOG(INFO) << "Disabling VABC";
+    if (install_plan_->vabc_none) {
+      LOG(INFO) << "Setting Virtual AB Compression algorithm to none";
       manifest_.mutable_dynamic_partition_metadata()
           ->set_vabc_compression_param("none");
       for (auto& partition : *manifest_.mutable_partitions()) {
diff --git a/payload_consumer/install_plan.cc b/payload_consumer/install_plan.cc
index 91eb53b..cea8e5a 100644
--- a/payload_consumer/install_plan.cc
+++ b/payload_consumer/install_plan.cc
@@ -26,7 +26,6 @@
 #include <base/strings/stringprintf.h>
 
 #include "update_engine/common/utils.h"
-#include "update_engine/payload_consumer/payload_constants.h"
 #include "update_engine/update_metadata.pb.h"
 
 using std::string;
diff --git a/payload_consumer/install_plan.h b/payload_consumer/install_plan.h
index 926af98..8fe104a 100644
--- a/payload_consumer/install_plan.h
+++ b/payload_consumer/install_plan.h
@@ -73,7 +73,7 @@
       ErrorCode* error);
 
   bool is_resume{false};
-  bool disable_vabc{false};
+  bool vabc_none{false};
   std::string download_url;  // url to download from
   std::string version;       // version we are installing.
 
diff --git a/scripts/update_device.py b/scripts/update_device.py
index 8f4e583..2985c38 100755
--- a/scripts/update_device.py
+++ b/scripts/update_device.py
@@ -481,8 +481,8 @@
                       help='Perform reset slot switch for this OTA package')
   parser.add_argument('--wipe-user-data', action='store_true',
                       help='Wipe userdata after installing OTA')
-  parser.add_argument('--disable-vabc', action='store_true',
-                      help='Disable vabc during OTA')
+  parser.add_argument('--vabc-none', action='store_true',
+                      help='Set Virtual AB Compression algorithm to none, but still use Android COW format')
   parser.add_argument('--enable-threading', action='store_true',
                       help='Enable multi-threaded compression for VABC')
   parser.add_argument('--batched-writes', action='store_true',
@@ -547,8 +547,8 @@
     args.extra_headers += "\nRUN_POST_INSTALL=0"
   if args.wipe_user_data:
     args.extra_headers += "\nPOWERWASH=1"
-  if args.disable_vabc:
-    args.extra_headers += "\nDISABLE_VABC=1"
+  if args.vabc_none:
+    args.extra_headers += "\nVABC_NONE=1"
   if args.enable_threading:
     args.extra_headers += "\nENABLE_THREADING=1"
   if args.batched_writes:
