diff --git a/doc/doc.pri b/doc/doc.pri
index 20daddba3bda6e8612fa49ace7baf3eee9a0c171..cfe94c29ea46cb01d6fa4bc7cec047f997d48c9b 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -19,8 +19,10 @@ unix {
     QDOC = SRCDIR=$$PWD OUTDIR=$$OUT_PWD/doc/html $$QDOC_BIN 
     HELPGENERATOR = $$(QTDIR)/bin/qhelpgenerator
 } else {
-    QDOC = set SRCDIR=$$PWD&& set OUTDIR=$$OUT_PWD/doc/html&& $$QDOC_BIN 
-    HELPGENERATOR = $$(QTDIR)\bin\qhelpgenerator.exe
+    QDOC = set SRCDIR=$$PWD&& set OUTDIR=$$OUT_PWD/doc/html&& $$QDOC_BIN
+    # Always run qhelpgenerator inside its own cmd; this is a workaround for
+    # an unusual bug which causes qhelpgenerator.exe to do nothing
+    HELPGENERATOR = cmd /C $$(QTDIR)\bin\qhelpgenerator.exe
 }
 
 QHP_FILE = $$OUT_PWD/doc/html/qtcreator.qhp