diff --git a/quiche/binary_http/binary_http_message.cc b/quiche/binary_http/binary_http_message.cc
index b5a7922..b4a6a88 100644
--- a/quiche/binary_http/binary_http_message.cc
+++ b/quiche/binary_http/binary_http_message.cc
@@ -211,6 +211,9 @@
     absl::Span<const absl::string_view> body_chunks, bool body_chunks_done) {
   uint64_t total_length = 0;
   for (const auto& body_chunk : body_chunks) {
+    if (body_chunk.empty()) {
+      continue;
+    }
     uint8_t body_chunk_var_int_length =
         QuicheDataWriter::GetVarInt62Len(body_chunk.size());
     if (body_chunk_var_int_length == 0) {
@@ -223,11 +226,19 @@
     total_length +=
         quiche::QuicheDataWriter::GetVarInt62Len(kContentTerminator);
   }
+  if (total_length == 0) {
+    return absl::InvalidArgumentError(
+        "EncodeBodyChunks cannot be called without data unless "
+        "body_chunks_done is true.");
+  }
 
   std::string data(total_length, '\0');
   QuicheDataWriter writer(total_length, data.data());
 
   for (const auto& body_chunk : body_chunks) {
+    if (body_chunk.empty()) {
+      continue;
+    }
     if (!writer.WriteStringPieceVarInt62(body_chunk)) {
       return absl::InternalError("Failed to write body chunk.");
     }
