diff --git a/src/ICSharpCode.SharpZipLib/Zip/ZipOutputStream.cs b/src/ICSharpCode.SharpZipLib/Zip/ZipOutputStream.cs
index b9f1965dd..ad1be6e46 100644
--- a/src/ICSharpCode.SharpZipLib/Zip/ZipOutputStream.cs
+++ b/src/ICSharpCode.SharpZipLib/Zip/ZipOutputStream.cs
@@ -206,6 +206,9 @@ private void WriteLeLong(long value)
/// Entry name is too long
/// Finish has already been called
///
+ ///
+ /// The Compression method specified for the entry is unsupported.
+ ///
public void PutNextEntry(ZipEntry entry)
{
if (entry == null)
@@ -229,6 +232,13 @@ public void PutNextEntry(ZipEntry entry)
}
CompressionMethod method = entry.CompressionMethod;
+
+ // Check that the compression is one that we support
+ if (method != CompressionMethod.Deflated && method != CompressionMethod.Stored)
+ {
+ throw new NotImplementedException("Compression method not supported");
+ }
+
int compressionLevel = defaultCompressionLevel;
// Clear flags that the library manages internally