--- squashfs-tools/unsquashfs.c
+++ squashfs-tools/unsquashfs.c
@@ -701,11 +701,11 @@
 
 		if(res != Z_OK) {
 			if(res == Z_MEM_ERROR)
-				ERROR("zlib::uncompress failed, not enough memory\n");
+				EXIT_UNSQUASH("zlib::uncompress failed, not enough memory\n");
 			else if(res == Z_BUF_ERROR)
-				ERROR("zlib::uncompress failed, not enough room in output buffer\n");
+				EXIT_UNSQUASH("zlib::uncompress failed, not enough room in output buffer\n");
 			else
-				ERROR("zlib::uncompress failed, unknown error %d\n", res);
+				EXIT_UNSQUASH("zlib::uncompress failed, unknown error %d\n", res);
 			goto failed;
 		}
 		if(next)
@@ -741,11 +741,11 @@
 
 		if(res != Z_OK) {
 			if(res == Z_MEM_ERROR)
-				ERROR("zlib::uncompress failed, not enough memory\n");
+				EXIT_UNSQUASH("zlib::uncompress failed, not enough memory\n");
 			else if(res == Z_BUF_ERROR)
-				ERROR("zlib::uncompress failed, not enough room in output buffer\n");
+				EXIT_UNSQUASH("zlib::uncompress failed, not enough room in output buffer\n");
 			else
-				ERROR("zlib::uncompress failed, unknown error %d\n", res);
+				EXIT_UNSQUASH("zlib::uncompress failed, unknown error %d\n", res);
 			return 0;
 		}
 
@@ -2348,11 +2348,11 @@
 
 		if(res != Z_OK) {
 			if(res == Z_MEM_ERROR)
-				ERROR("zlib::uncompress failed, not enough memory\n");
+				EXIT_UNSQUASH("zlib::uncompress failed, not enough memory\n");
 			else if(res == Z_BUF_ERROR)
-				ERROR("zlib::uncompress failed, not enough room in output buffer\n");
+				EXIT_UNSQUASH("zlib::uncompress failed, not enough room in output buffer\n");
 			else
-				ERROR("zlib::uncompress failed, unknown error %d\n", res);
+				EXIT_UNSQUASH("zlib::uncompress failed, unknown error %d\n", res);
 		} else
 			memcpy(entry->data, tmp, bytes);
 
