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
