diff --git a/payload_consumer/vabc_partition_writer.cc b/payload_consumer/vabc_partition_writer.cc
index 1ae82b5..d827fad 100644
--- a/payload_consumer/vabc_partition_writer.cc
+++ b/payload_consumer/vabc_partition_writer.cc
@@ -126,15 +126,19 @@
 
   // ==============================================
   if (!partition_update_.merge_operations().empty()) {
-    TEST_AND_RETURN_FALSE(WriteMergeSequence(
-        partition_update_.merge_operations(), cow_writer_.get()));
+    if (IsXorEnabled()) {
+      LOG(INFO) << "VABC XOR enabled for partition "
+                << partition_update_.partition_name();
+      TEST_AND_RETURN_FALSE(WriteMergeSequence(
+          partition_update_.merge_operations(), cow_writer_.get()));
+    }
   }
 
   // TODO(zhangkelvin) Rewrite this in C++20 coroutine once that's available.
   // TODO(177104308) Don't write all COPY ops up-front if merge sequence is
   // written
-  auto converted = ConvertToCowOperations(partition_update_.operations(),
-                                          partition_update_.merge_operations());
+  const auto converted = ConvertToCowOperations(
+      partition_update_.operations(), partition_update_.merge_operations());
 
   if (!converted.empty()) {
     // Use source fd directly. Ideally we want to verify all extents used in
diff --git a/payload_consumer/vabc_partition_writer_unittest.cc b/payload_consumer/vabc_partition_writer_unittest.cc
index 7a3fc9b..fdfa0a6 100644
--- a/payload_consumer/vabc_partition_writer_unittest.cc
+++ b/payload_consumer/vabc_partition_writer_unittest.cc
@@ -144,9 +144,6 @@
             ON_CALL(*cow_writer, EmitCopy(_, _)).WillByDefault(Return(true));
             ON_CALL(*cow_writer, EmitLabel(_)).WillByDefault(Return(true));
             ON_CALL(*cow_writer, Initialize()).WillByDefault(Return(true));
-            EXPECT_CALL(*cow_writer, EmitSequenceData(_, _))
-                .Times(1)
-                .WillOnce(Return(true));
             EXPECT_CALL(*cow_writer, Initialize()).InSequence(s);
             EXPECT_CALL(*cow_writer, EmitCopy(10, 5)).InSequence(s);
             EXPECT_CALL(*cow_writer, EmitCopy(15, 10)).InSequence(s);
