diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.cpp b/src/plugins/coreplugin/progressmanager/progressmanager.cpp
index 0de8c643ff13300e80c40c614365f5f7db79cd68..69fde6474b9a7fa66913d462b56be77223ff9808 100644
--- a/src/plugins/coreplugin/progressmanager/progressmanager.cpp
+++ b/src/plugins/coreplugin/progressmanager/progressmanager.cpp
@@ -763,7 +763,7 @@ FutureProgress *ProgressManager::addTimedTask(const QFutureInterface<void> &futu
 {
     QFutureInterface<void> dummy(futureInterface); // Need mutable to access .future()
     FutureProgress *fp = m_instance->doAddTask(dummy.future(), title, type, flags);
-    (void) new ProgressTimer(fp, futureInterface, expectedSeconds);
+    (void) new ProgressTimer(futureInterface, expectedSeconds, fp);
     return fp;
 }
 
@@ -779,9 +779,9 @@ void ProgressManager::cancelTasks(Id type)
 }
 
 
-ProgressTimer::ProgressTimer(QObject *parent,
-                             const QFutureInterfaceBase &futureInterface,
-                             int expectedSeconds)
+ProgressTimer::ProgressTimer(const QFutureInterfaceBase &futureInterface,
+                             int expectedSeconds,
+                             QObject *parent)
     : QObject(parent),
       m_futureInterface(futureInterface),
       m_expectedTime(expectedSeconds),
diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.h b/src/plugins/coreplugin/progressmanager/progressmanager.h
index 97aa9207765718c098588c34492ff4516181eb0d..6653a70b1fd99b4ee9607a73211483922e64d638 100644
--- a/src/plugins/coreplugin/progressmanager/progressmanager.h
+++ b/src/plugins/coreplugin/progressmanager/progressmanager.h
@@ -75,7 +75,8 @@ private:
 class CORE_EXPORT ProgressTimer : public QObject
 {
 public:
-    ProgressTimer(QObject *parent, const QFutureInterfaceBase &futureInterface, int expectedSeconds);
+    ProgressTimer(const QFutureInterfaceBase &futureInterface, int expectedSeconds,
+                  QObject *parent = 0);
 
 private:
     void handleTimeout();