diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc0676d3d..72bfe8b07 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -658,9 +658,10 @@ else()
 	set(LIBZIP_LIBRARY libzip)
 endif()
 
-# FindPNG does a few things we don't want. So do it ourselves. Fixed to libpng17
-find_path(PNG_PNG_INCLUDE_DIR NAMES "libpng17/png.h")
-find_library(PNG_LIBRARY NAMES png17 libpng17)
+find_package(PkgConfig)
+pkg_check_modules(PNG libpng>=1.6)
+set(PNG_LIBRARY ${PNG_LIBRARIES})
+set(PNG_PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS})
 find_package(PackageHandleStandardArgs)
 find_package_handle_standard_args(PNG REQUIRED_VARS PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
 if(PNG_FOUND)
diff --git a/Core/Debugger/WebSocket/GPUBufferSubscriber.cpp b/Core/Debugger/WebSocket/GPUBufferSubscriber.cpp
index 67b13d85b..aff77aae3 100644
--- a/Core/Debugger/WebSocket/GPUBufferSubscriber.cpp
+++ b/Core/Debugger/WebSocket/GPUBufferSubscriber.cpp
@@ -17,7 +17,7 @@
 
 #include <algorithm>
 #ifndef USING_QT_UI
-#include <libpng17/png.h>
+#include <png.h>
 #include <zlib.h>
 #endif
 #include "data/base64.h"
diff --git a/Core/Screenshot.cpp b/Core/Screenshot.cpp
index 2a2ddcf27..a90f3c542 100644
--- a/Core/Screenshot.cpp
+++ b/Core/Screenshot.cpp
@@ -21,7 +21,7 @@
 #ifdef USING_QT_UI
 #include <QtGui/QImage>
 #else
-#include <libpng17/png.h>
+#include <png.h>
 #include "ext/jpge/jpge.h"
 #endif
 
diff --git a/Core/TextureReplacer.cpp b/Core/TextureReplacer.cpp
index 6087c87ae..b9a9a5abd 100644
--- a/Core/TextureReplacer.cpp
+++ b/Core/TextureReplacer.cpp
@@ -18,7 +18,7 @@
 #ifdef USING_QT_UI
 #include <QtGui/QImage>
 #else
-#include <libpng17/png.h>
+#include <png.h>
 #endif
 
 #include <algorithm>
diff --git a/ext/native/image/png_load.cpp b/ext/native/image/png_load.cpp
index 41e90a88e..0b07801b6 100644
--- a/ext/native/image/png_load.cpp
+++ b/ext/native/image/png_load.cpp
@@ -5,7 +5,7 @@
 #ifdef USING_QT_UI
 #include <QtGui/QImage>
 #else
-#include "libpng17/png.h"
+#include "png.h"
 #endif
 
 #include "png_load.h"
diff --git a/ext/native/tools/atlastool.cpp b/ext/native/tools/atlastool.cpp
index 804d4198b..e95eb3b56 100644
--- a/ext/native/tools/atlastool.cpp
+++ b/ext/native/tools/atlastool.cpp
@@ -18,7 +18,7 @@
 // line height
 // dist-per-pixel
 
-#include <libpng17/png.h>
+#include <png.h>
 #include <ft2build.h>
 #include <freetype/ftbitmap.h>
 #include <set>