diff --git a/src/3rdparty/assimp/contrib/zip/src/miniz.h b/src/3rdparty/assimp/contrib/zip/src/miniz.h
index 916fb1ff8..2e4e223da 100644
--- a/src/3rdparty/assimp/contrib/zip/src/miniz.h
+++ b/src/3rdparty/assimp/contrib/zip/src/miniz.h
@@ -4427,14 +4427,15 @@ mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name,
   mz_uint8 local_dir_header[MZ_ZIP_LOCAL_DIR_HEADER_SIZE];
   MZ_FILE *pSrc_file = NULL;
 
+  if ((int)level_and_flags < 0)
+      level_and_flags = MZ_DEFAULT_LEVEL;
+  level = level_and_flags & 0xF;
+
   if ((!pZip) || (!pZip->m_pState) || (pZip->m_zip_mode != MZ_ZIP_MODE_WRITING) || (!pArchive_name) || ((comment_size) && (!pComment)) || (level > MZ_UBER_COMPRESSION))
     return MZ_FALSE;
 
   local_dir_header_ofs = cur_archive_file_ofs = pZip->m_archive_size;
 
-  if ((int)level_and_flags < 0)
-    level_and_flags = MZ_DEFAULT_LEVEL;
-  level = level_and_flags & 0xF;
 
   if (level_and_flags & MZ_ZIP_FLAG_COMPRESSED_DATA)
     return MZ_FALSE;

