diff --git a/contrib/oss-fuzz/libpng_read_fuzzer.cc b/contrib/oss-fuzz/libpng_read_fuzzer.cc
index 8894b82..1ca3f86 100644
--- a/contrib/oss-fuzz/libpng_read_fuzzer.cc
+++ b/contrib/oss-fuzz/libpng_read_fuzzer.cc
@@ -23,21 +23,6 @@
 #define PNG_INTERNAL
 #include "png.h"
 
-#define PNG_CLEANUP \
-    if(png_handler.png_ptr) \
-    { \
-      if (row_ptr && png_ptr) \
-        png_free(png_ptr, row_ptr); \
-      if (png_handler.end_info_ptr) \
-        png_destroy_read_struct(&png_handler.png_ptr, &png_handler.info_ptr,\
-          &png_handler.end_info_ptr); \
-      else if (png_handler.info_ptr) \
-        png_destroy_read_struct(&png_handler.png_ptr, &png_handler.info_ptr,\
-          nullptr); \
-      else \
-        png_destroy_read_struct(&png_handler.png_ptr, nullptr, nullptr); \
-     }
-
 struct BufState {
   const uint8_t* data;
   size_t bytes_left;
@@ -51,7 +36,6 @@
   BufState* buf_state = nullptr;
 
   ~PngObjectHandler() {
-    PNG_CLEANUP
     delete buf_state;
   }
 };
@@ -71,6 +55,7 @@
 // Entry point for LibFuzzer.
 // Roughly follows the libpng book example:
 // http://www.libpng.org/pub/png/book/chapter13.html
+
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
   if (size < kPngHeaderSize) {
     return 0;
@@ -91,13 +76,14 @@
 
   png_handler.info_ptr = png_create_info_struct(png_handler.png_ptr);
   if (!png_handler.info_ptr) {
-    PNG_CLEANUP
+    png_destroy_read_struct(&png_handler.png_ptr, nullptr, nullptr);
     return 0;
   }
 
   png_handler.end_info_ptr = png_create_info_struct(png_handler.png_ptr);
   if (!png_handler.info_ptr) {
-    PNG_CLEANUP
+    png_destroy_read_struct(&png_handler.png_ptr, &png_handler.info_ptr,
+      nullptr);
     return 0;
   }
 
@@ -113,6 +99,21 @@
   png_set_read_fn(png_handler.png_ptr, png_handler.buf_state, user_read_data);
   png_set_sig_bytes(png_handler.png_ptr, kPngHeaderSize);
 
+#define PNG_CLEANUP
+  if(png_handler.png_ptr) \
+  { \
+    if (png_handler.row_ptr) \
+      png_free(png_handler.png_ptr, png_handler.row_ptr); \
+    if (png_handler.end_info_ptr) \
+      png_destroy_read_struct(&png_handler.png_ptr, &png_handler.info_ptr,\
+        &png_handler.end_info_ptr); \
+    else if (png_handler.info_ptr) \
+      png_destroy_read_struct(&png_handler.png_ptr, &png_handler.info_ptr,\
+        nullptr); \
+    else \
+      png_destroy_read_struct(&png_handler.png_ptr, nullptr, nullptr); \
+   }
+
   if (setjmp(png_jmpbuf(png_handler.png_ptr))) {
     PNG_CLEANUP
     return 0;
