diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index 8ce091053ffb83ead55b3e57cf85df1ffc028c0a..f31466ad3395e7e8f5760fad75ec55ec2cb192ef 100755
--- a/bin/syncqt.pl
+++ b/bin/syncqt.pl
@@ -1094,6 +1094,19 @@ foreach my $lib (@modules_to_sync) {
         syncHeader($lib, $VHeader, $vheader, 0);
         $pri_install_files .= fixPaths($vheader, $dir) . " ";
         $pri_install_classes .= fixPaths($VHeader, $dir) . " ";
+        my @versions = split(/\./, $module_version);
+        my $modulehexstring = sprintf("0x%02X%02X%02X", $versions[0], $versions[1], $versions[2]);
+        my $vhdrcont =
+            "/* This file was generated by syncqt. */\n".
+            "#ifndef QT_".uc($lib)."_VERSION_H\n".
+            "#define QT_".uc($lib)."_VERSION_H\n".
+            "\n".
+            "#define ".uc($lib)."_VERSION_STR \"".$module_version."\"\n".
+            "\n".
+            "#define ".uc($lib)."_VERSION ".$modulehexstring."\n".
+            "\n".
+            "#endif // QT_".uc($lib)."_VERSION_H\n";
+        writeFile($vheader, $vhdrcont, $lib, "version header");
 
         #handle the headers.pri for each module
         my $headers_pri_contents = "";
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 298ca102bc7c77f70ddfb7d617ebe01bc1606608..3c50e041c78dbd18b2d7bd7e85b4ad73b10397e1 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -31,9 +31,6 @@ minimal_syncqt: return()
 #load up the headers info
 include($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/headers.pri, "", true)
 
-lctarget = $$lower($$MODULE_INCNAME)
-uctarget = $$upper($$MODULE_INCNAME)
-
 defineTest(shouldMasterInclude) {
     bn = $$basename(1)
     contains(bn, .*_.*):return(false)
@@ -46,32 +43,6 @@ defineTest(shouldMasterInclude) {
 autogen_warning = \
     "/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */"
 
-# Create module version header
-MODULE_VERSION_HEADER = $$find(SYNCQT.HEADER_FILES, (^|/)$${lctarget}version\\.h$)
-count(MODULE_VERSION_HEADER, 1) {
-    MODULE_VERSION_HEADER = $$absolute_path($$MODULE_VERSION_HEADER, $$_PRO_FILE_PWD_)
-
-    !build_pass {
-        majorhexstr = $$format_number($$section(VERSION, ., 0, 0), width=2 zeropad obase=16)
-        minorhexstr = $$format_number($$section(VERSION, ., 1, 1), width=2 zeropad obase=16)
-        patchhexstr = $$format_number($$section(VERSION, ., 2, 2), width=2 zeropad obase=16)
-        modulehexstring = 0x$${majorhexstr}$${minorhexstr}$${patchhexstr}
-        MODULE_VERSION_HEADER_CONT = \
-            $$autogen_warning \
-            "$${LITERAL_HASH}ifndef QT_$${uctarget}_VERSION_H" \
-            "$${LITERAL_HASH}define QT_$${uctarget}_VERSION_H" \
-            "" \
-            "$${LITERAL_HASH}define $${uctarget}_VERSION_STR \"$$VERSION\"" \
-            "" \
-            "$${LITERAL_HASH}define $${uctarget}_VERSION $$modulehexstring" \
-            "" \
-            "$${LITERAL_HASH}endif // QT_$${uctarget}_VERSION_H"
-        write_file($$MODULE_VERSION_HEADER, MODULE_VERSION_HEADER_CONT)|error("Aborting.")
-    }
-
-    HEADERS += $$MODULE_VERSION_HEADER
-}
-
 # Create a module master header
 MODULE_MASTER_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$$MODULE_INCNAME
 !build_pass {