diff --git a/src/3rdparty/png_dependency.pri b/src/3rdparty/png_dependency.pri
new file mode 100644
index 0000000000000000000000000000000000000000..78da861f77507858c0c902881d769b0f938e5564
--- /dev/null
+++ b/src/3rdparty/png_dependency.pri
@@ -0,0 +1,6 @@
+contains(QT_CONFIG, system-png) {
+    unix|mingw: LIBS_PRIVATE += -lpng
+    else: LIBS += libpng.lib
+} else: contains(QT_CONFIG, png) {
+    include($$PWD/libpng.pri)
+}
diff --git a/src/gui/image/qpnghandler.pri b/src/gui/image/qpnghandler.pri
index 9ab175d6288f3a593abdcfb7248d52b6a74662ba..505d21413098bcb74ecf7bc03c5a8bf8ff3b1d22 100644
--- a/src/gui/image/qpnghandler.pri
+++ b/src/gui/image/qpnghandler.pri
@@ -1,9 +1,4 @@
 HEADERS += $$PWD/qpnghandler_p.h
 SOURCES += $$PWD/qpnghandler.cpp
-contains(QT_CONFIG, system-png) {
-    if(unix|mingw): LIBS_PRIVATE  += -lpng
-    else:win32:          LIBS += libpng.lib
 
-} else {
-    include($$PWD/../../3rdparty/libpng.pri)
-}
+include($$PWD/../../3rdparty/png_dependency.pri)