diff --git a/src/plugins/qnx/qnx.pro b/src/plugins/qnx/qnx.pro
index 6a08e9f7935c2a432e8031998ba2a0de7913f595..882954c40e1903bf8a7da71d9a3b7258c923376b 100644
--- a/src/plugins/qnx/qnx.pro
+++ b/src/plugins/qnx/qnx.pro
@@ -161,11 +161,17 @@ FORMS += \
     blackberrydebugtokenrequestdialog.ui
 
 include(../../private_headers.pri)
-exists($${QT_PRIVATE_HEADERS}/QtGui/private/qzipreader_p.h) {
+
+greaterThan(QT_MAJOR_VERSION, 4) {
+    QT += gui-private
     DEFINES += QNX_ZIP_FILE_SUPPORT
 } else {
-    warning("The QNX plugin depends on private headers from QtGui module, to be fully functional.")
-    warning("To fix it, pass 'QT_PRIVATE_HEADERS=$QTDIR/include' to qmake, where $QTDIR is the source directory of qt.")
+    exists($${QT_PRIVATE_HEADERS}/QtGui/private/qzipreader_p.h) {
+        DEFINES += QNX_ZIP_FILE_SUPPORT
+    } else {
+        warning("The QNX plugin depends on private headers from QtGui module, to be fully functional.")
+        warning("To fix it, pass 'QT_PRIVATE_HEADERS=$QTDIR/include' to qmake, where $QTDIR is the source directory of qt.")
+    }
 }
 
 DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII