diff --git a/src/main/java/azgracompress/fileformat/QCMPFileHeader.java b/src/main/java/azgracompress/fileformat/QCMPFileHeader.java
index 9944d720ba461521ebb4b81491fdeadaaf5de2bd..80da0987432d8d2a7843661262d48c208aea97d7 100644
--- a/src/main/java/azgracompress/fileformat/QCMPFileHeader.java
+++ b/src/main/java/azgracompress/fileformat/QCMPFileHeader.java
@@ -78,7 +78,11 @@ public class QCMPFileHeader {
         }
 
         byte[] magicBuffer = new byte[QCMP_MAGIC_VALUE.length()];
-        assert (inputStream.readNBytes(magicBuffer, 0, QCMP_MAGIC_VALUE.length()) == QCMP_MAGIC_VALUE.length());
+        final int readFromMagic = inputStream.readNBytes(magicBuffer, 0, QCMP_MAGIC_VALUE.length());
+        if (readFromMagic != QCMP_MAGIC_VALUE.length()) {
+            // Invalid magic value.
+            return false;
+        }
 
         magicValue = new String(magicBuffer);
         if (!magicValue.equals(QCMP_MAGIC_VALUE)) {