diff --git a/Android.bp b/Android.bp
index 5df8444..cc3cd09 100644
--- a/Android.bp
+++ b/Android.bp
@@ -869,6 +869,8 @@
         "payload_generator/payload_signer_unittest.cc",
         "payload_generator/squashfs_filesystem_unittest.cc",
         "payload_generator/zip_unittest.cc",
+        "payload_consumer/verity_writer_android_unittest.cc",
+        "payload_consumer/xz_extent_writer_unittest.cc",
         "testrunner.cc",
     ],
 }
@@ -991,9 +993,7 @@
         "payload_consumer/postinstall_runner_action_unittest.cc",
         "payload_consumer/snapshot_extent_writer_unittest.cc",
         "payload_consumer/vabc_partition_writer_unittest.cc",
-        "payload_consumer/verity_writer_android_unittest.cc",
         "payload_consumer/xor_extent_writer_unittest.cc",
-        "payload_consumer/xz_extent_writer_unittest.cc",
         "update_status_utils_unittest.cc",
     ],
 }
diff --git a/payload_consumer/verity_writer_android.cc b/payload_consumer/verity_writer_android.cc
index b669b4d..ffa2944 100644
--- a/payload_consumer/verity_writer_android.cc
+++ b/payload_consumer/verity_writer_android.cc
@@ -117,16 +117,18 @@
   }
   // All hash tree data blocks has been hashed, write hash tree to disk.
   LOG(INFO) << "Writing verity hash tree to " << partition_->target_path;
-  TEST_AND_RETURN_FALSE(hash_tree_builder_->BuildHashTree());
-  TEST_AND_RETURN_FALSE_ERRNO(
-      write_fd->Seek(partition_->hash_tree_offset, SEEK_SET));
-  auto success =
-      hash_tree_builder_->WriteHashTree([write_fd](auto data, auto size) {
-        return utils::WriteAll(write_fd, data, size);
-      });
-  // hashtree builder already prints error messages.
-  TEST_AND_RETURN_FALSE(success);
-  hash_tree_builder_.reset();
+  if (hash_tree_builder_) {
+    TEST_AND_RETURN_FALSE(hash_tree_builder_->BuildHashTree());
+    TEST_AND_RETURN_FALSE_ERRNO(
+        write_fd->Seek(partition_->hash_tree_offset, SEEK_SET));
+    auto success =
+        hash_tree_builder_->WriteHashTree([write_fd](auto data, auto size) {
+          return utils::WriteAll(write_fd, data, size);
+        });
+    // hashtree builder already prints error messages.
+    TEST_AND_RETURN_FALSE(success);
+    hash_tree_builder_.reset();
+  }
   if (partition_->fec_size != 0) {
     LOG(INFO) << "Writing verity FEC to " << partition_->target_path;
     TEST_AND_RETURN_FALSE(EncodeFEC(read_fd,
diff --git a/payload_consumer/verity_writer_android_unittest.cc b/payload_consumer/verity_writer_android_unittest.cc
index 693bcda..5ff0189 100644
--- a/payload_consumer/verity_writer_android_unittest.cc
+++ b/payload_consumer/verity_writer_android_unittest.cc
@@ -165,4 +165,22 @@
   ASSERT_EQ(part_data, actual_part);
 }
 
+TEST_F(VerityWriterAndroidTest, HashTreeDisabled) {
+  partition_.hash_tree_size = 0;
+  partition_.hash_tree_data_size = 0;
+  partition_.hash_tree_offset = 0;
+  partition_.hash_tree_data_offset = 0;
+
+  partition_.fec_data_offset = 0;
+  partition_.fec_data_size = 4096;
+  partition_.fec_offset = 4096;
+  partition_.fec_size = 2 * 4096;
+  brillo::Blob part_data(3 * 4096, 0x1);
+  test_utils::WriteFileVector(partition_.target_path, part_data);
+  ASSERT_TRUE(verity_writer_.Init(partition_));
+  ASSERT_TRUE(verity_writer_.Update(0, part_data.data(), part_data.size()));
+  ASSERT_TRUE(
+      verity_writer_.Finalize(partition_fd_.get(), partition_fd_.get()));
+}
+
 }  // namespace chromeos_update_engine
