diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp
index 2f1da1449f672919d9b944cd6369a4a9ecffd00f..c178a2078a84ac044cff440e70783558f1cb099f 100644
--- a/src/windeployqt/main.cpp
+++ b/src/windeployqt/main.cpp
@@ -582,9 +582,13 @@ static inline QString helpText(const QCommandLineParser &p)
 
 static inline bool isQtModule(const QString &libName)
 {
-    return libName.startsWith(QLatin1String("Qt"), Qt::CaseInsensitive) // Standard modules, Qt5XX.dll, Qt[Commercial]Charts.dll
-        || libName.startsWith(QLatin1String("DataVisualization"), Qt::CaseInsensitive)
-        || libName.startsWith(QLatin1String("Enginio"), Qt::CaseInsensitive);
+    // Match Standard modules, Qt5XX.dll, Qt[Commercial]Charts.dll and special cases.
+    return libName.size() > 2
+        && ((libName.startsWith(QLatin1String("Qt"), Qt::CaseInsensitive) && libName.at(2).isDigit())
+            || libName.startsWith(QLatin1String("QtCommercial"), Qt::CaseInsensitive)
+            || libName.startsWith(QLatin1String("QtCharts"), Qt::CaseInsensitive)
+            || libName.startsWith(QLatin1String("DataVisualization"), Qt::CaseInsensitive)
+            || libName.startsWith(QLatin1String("Enginio"), Qt::CaseInsensitive));
 }
 
 // Helper for recursively finding all dependent Qt libraries.