diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index c51428f328d6d859591ab5cc204bdae37ba503c2..3f797943605b18dfeb7e3fd21d2c6746e59e6cda 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -511,9 +511,9 @@ void CppFindReferences::setDependencyTable(const CPlusPlus::DependencyTable &new
 void CppFindReferences::createWatcher(const QFuture<Usage> &future, Find::SearchResult *search)
 {
     QFutureWatcher<Usage> *watcher = new QFutureWatcher<Usage>();
-    watcher->setFuture(future);
     watcher->setPendingResultsLimit(1);
     connect(watcher, SIGNAL(resultsReadyAt(int,int)), this, SLOT(displayResults(int,int)));
     connect(watcher, SIGNAL(finished()), this, SLOT(searchFinished()));
     m_watchers.insert(watcher, search);
+    watcher->setFuture(future);
 }