diff --git a/src/plugins/qt4projectmanager/qtoptionspage.cpp b/src/plugins/qt4projectmanager/qtoptionspage.cpp
index 3ffc91ad55e9a52da8bbef586fbee1da05a91a7a..ce7bd1aef9a3e8ee13f26f4dfb396957c48bd54f 100644
--- a/src/plugins/qt4projectmanager/qtoptionspage.cpp
+++ b/src/plugins/qt4projectmanager/qtoptionspage.cpp
@@ -10,6 +10,7 @@
 #include <coreplugin/progressmanager/progressmanager.h>
 #include <utils/treewidgetcolumnstretcher.h>
 #include <utils/qtcassert.h>
+#include <qtconcurrent/runextensions.h>
 
 #include <QtCore/QFuture>
 #include <QtCore/QtConcurrentRun>
@@ -33,9 +34,12 @@ DebuggingHelperBuildTask::~DebuggingHelperBuildTask()
 {
 }
 
-void DebuggingHelperBuildTask::run()
+void DebuggingHelperBuildTask::run(QFutureInterface<void> &future)
 {
+    future.setProgressRange(0, 4);
+    future.setProgressValue(1);
     const QString output = m_version->buildDebuggingHelperLibrary();
+    future.setProgressValue(1);
     emit finished(m_version->name(), output);
     deleteLater();
 }
@@ -249,7 +253,7 @@ void QtOptionsPageWidget::buildDebuggingHelper()
     DebuggingHelperBuildTask *buildTask = new DebuggingHelperBuildTask(m_versions.at(index));
     connect(buildTask, SIGNAL(finished(QString,QString)), this, SLOT(debuggingHelperBuildFinished(QString,QString)),
             Qt::QueuedConnection);
-    QFuture<void> task = QtConcurrent::run(buildTask, &DebuggingHelperBuildTask::run);
+    QFuture<void> task = QtConcurrent::run(&DebuggingHelperBuildTask::run, buildTask);
     const QString taskName = tr("Building helpers");
     Core::ICore::instance()->progressManager()->addTask(task, taskName,
                                                         QLatin1String("Qt4ProjectManager::BuildHelpers"),
diff --git a/src/plugins/qt4projectmanager/qtoptionspage.h b/src/plugins/qt4projectmanager/qtoptionspage.h
index 4ddeb98d53779813e0653881258daa47f35c964a..9581f37d425351f125c01792a27cde94b84ac9b7 100644
--- a/src/plugins/qt4projectmanager/qtoptionspage.h
+++ b/src/plugins/qt4projectmanager/qtoptionspage.h
@@ -32,6 +32,7 @@
 #include <coreplugin/dialogs/ioptionspage.h>
 
 #include <QtCore/QSharedPointer>
+#include <QtCore/QFutureInterface>
 
 #include <QtGui/QWidget>
 #include <QtGui/QPixmap>
@@ -61,7 +62,7 @@ public:
     explicit DebuggingHelperBuildTask(const QSharedPointerQtVersion &version);
     virtual ~DebuggingHelperBuildTask();
 
-    void run();
+    void run(QFutureInterface<void> &future);
 
 signals:
     void finished(const QString &versionName, const QString &output);