diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index aca2d8c3bff4419b4dd6d5aaa1e863e372913983..6a586c9dec86d6420d84459dbc99320e62df95c5 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -67,7 +67,7 @@ CppFindReferences::CppFindReferences(CppTools::CppModelManagerInterface *modelMa
       _resultWindow(ExtensionSystem::PluginManager::instance()->getObject<Find::SearchResultWindow>())
 {
     m_watcher.setPendingResultsLimit(1);
-    connect(&m_watcher, SIGNAL(resultReadyAt(int)), this, SLOT(displayResult(int)));
+    connect(&m_watcher, SIGNAL(resultsReadyAt(int,int)), this, SLOT(displayResults(int,int)));
     connect(&m_watcher, SIGNAL(finished()), this, SLOT(searchFinished()));
 }
 
@@ -333,14 +333,16 @@ void CppFindReferences::onReplaceButtonClicked(const QString &text,
     _resultWindow->hide();
 }
 
-void CppFindReferences::displayResult(int index)
+void CppFindReferences::displayResults(int first, int last)
 {
-    Usage result = m_watcher.future().resultAt(index);
-    _resultWindow->addResult(result.path,
-                             result.line,
-                             result.lineText,
-                             result.col,
-                             result.len);
+    for (int index = first; index != last; ++index) {
+        Usage result = m_watcher.future().resultAt(index);
+        _resultWindow->addResult(result.path,
+                                 result.line,
+                                 result.lineText,
+                                 result.col,
+                                 result.len);
+    }
 }
 
 void CppFindReferences::searchFinished()
diff --git a/src/plugins/cpptools/cppfindreferences.h b/src/plugins/cpptools/cppfindreferences.h
index 2156a1fa6e63e91cb9b88b34f38aa5ecf70f1a9a..5425e4988d626c00a74dcbc48df53bd96ddff9f0 100644
--- a/src/plugins/cpptools/cppfindreferences.h
+++ b/src/plugins/cpptools/cppfindreferences.h
@@ -68,7 +68,7 @@ public:
     void renameUsages(CPlusPlus::Symbol *symbol);
 
 private Q_SLOTS:
-    void displayResult(int);
+    void displayResults(int first, int last);
     void searchFinished();
     void openEditor(const Find::SearchResultItem &item);
     void onReplaceButtonClicked(const QString &text, const QList<Find::SearchResultItem> &items);