diff --git a/lib/archivers/zip/zip-archive-output-stream.js b/lib/archivers/zip/zip-archive-output-stream.js
index <HASH>..<HASH> 100644
--- a/lib/archivers/zip/zip-archive-output-stream.js
+++ b/lib/archivers/zip/zip-archive-output-stream.js
@@ -87,6 +87,7 @@ ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) 
 
 ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
   ae.getGeneralPurposeBit().useDataDescriptor(true);
+  ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
 
   this._writeLocalFileHeader(ae);
 
@@ -215,7 +216,7 @@ ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
   // version made by
   this.write(zipUtil.getShortBytes((ae.getPlatform() << 8) | constants.VERSION_MADEBY));
 
-  // version needed to extract
+  // version to extract
   this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
 
   // disk numbers
@@ -361,6 +362,7 @@ ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
 
   if (ae.isZip64()) {
     gpb.useDataDescriptor(true);
+    ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
   }
 
   if (gpb.usesUTF8ForNames()) {
zip: ensure version to extract is updated.