diff --git a/hdf5plugin_sz/src/sz_h5filter.cpp b/hdf5plugin_sz/src/sz_h5filter.cpp
index 445a1df77ad82e7b2c378a6cd529d9e1a63944e7..c606b53eee0dbfcdcc4a2254b2ee8aa456c4d2d2 100644
--- a/hdf5plugin_sz/src/sz_h5filter.cpp
+++ b/hdf5plugin_sz/src/sz_h5filter.cpp
@@ -513,7 +513,7 @@ H5Z_filter_sz(unsigned int flags,
 			 nbytes -header_bytes, /* length of the compressed data stream */
 			 out_buf, /* decompressed floating-point data */
 			 n[4], n[3], n[2], n[1], n[0] /* size of dimension 5-1 */
-        ) != 0) {
+        ) == 0) {
             PUSH_ERR("H5Z_filter_sz", H5E_CALLBACK, "decompression failed");
             free(out_buf);
             return 0;