diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc
index f490c08..e2613da 100644
--- a/payload_consumer/delta_performer.cc
+++ b/payload_consumer/delta_performer.cc
@@ -827,10 +827,8 @@
 
 bool DeltaPerformer::CanPerformInstallOperation(
     const chromeos_update_engine::InstallOperation& operation) {
-  // Move and source_copy operations don't require any data blob, so they can
-  // always be performed.
-  if (operation.type() == InstallOperation::MOVE ||
-      operation.type() == InstallOperation::SOURCE_COPY)
+  // If we don't have a data blob we can apply it right away.
+  if (!operation.has_data_offset() && !operation.has_data_length())
     return true;
 
   // See if we have the entire data blob in the buffer
diff --git a/payload_generator/full_update_generator.cc b/payload_generator/full_update_generator.cc
index af01e63..6d419c3 100644
--- a/payload_generator/full_update_generator.cc
+++ b/payload_generator/full_update_generator.cc
@@ -103,6 +103,16 @@
                                         &bytes_read));
   TEST_AND_RETURN_FALSE(bytes_read == static_cast<ssize_t>(size_));
 
+  if (version_.OperationAllowed(InstallOperation::ZERO) &&
+      std::all_of(buffer_in_.begin(),
+                  buffer_in_.end(),
+                  [](uint8_t x) {return x == 0;})) {
+    // The read buffer is all zeros, so produce a ZERO operation. No need to
+    // check other types of operations in this case.
+    aop_->op.set_type(InstallOperation::ZERO);
+    return true;
+  }
+
   TEST_AND_RETURN_FALSE(BzipCompress(buffer_in_, &op_blob));
   InstallOperation_Type op_type = InstallOperation::REPLACE_BZ;
 
diff --git a/payload_generator/payload_generation_config.cc b/payload_generator/payload_generation_config.cc
index 9071eee..dc2ced6 100644
--- a/payload_generator/payload_generation_config.cc
+++ b/payload_generator/payload_generation_config.cc
@@ -136,14 +136,19 @@
       // These operations were included in the original payload format.
       return true;
 
-    case InstallOperation::ZERO:
-    case InstallOperation::DISCARD:
     case InstallOperation::REPLACE_XZ:
       // These operations are included in the major version used in Brillo, but
       // can also be used with minor version 3 or newer.
       return major == kBrilloMajorPayloadVersion ||
              minor >= kOpSrcHashMinorPayloadVersion;
 
+    case InstallOperation::ZERO:
+    case InstallOperation::DISCARD:
+      // The implementation of these operations had a bug in earlier versions
+      // that prevents them from being used in any payload. We will enable
+      // them for delta payloads for now.
+      return minor >= kImgdiffMinorPayloadVersion;
+
     // Delta operations:
     case InstallOperation::MOVE:
     case InstallOperation::BSDIFF:
