diff --git a/src/plugins/cpptools/cppfunctionsfilter.cpp b/src/plugins/cpptools/cppfunctionsfilter.cpp
index 7161a92aeee5748adf66dd91dc990f844c3a29eb..09da0cc7438f027183aa10866e8649385b51cb24 100644
--- a/src/plugins/cpptools/cppfunctionsfilter.cpp
+++ b/src/plugins/cpptools/cppfunctionsfilter.cpp
@@ -25,6 +25,8 @@
 
 #include "cppfunctionsfilter.h"
 
+#include <utils/fileutils.h>
+
 using namespace CppTools;
 using namespace CppTools::Internal;
 
@@ -48,8 +50,13 @@ Core::LocatorFilterEntry CppFunctionsFilter::filterEntryFromIndexItem(IndexItem:
     QString name = info->symbolName();
     QString extraInfo = info->symbolScope();
     info->unqualifiedNameAndScope(name, &name, &extraInfo);
-    if (extraInfo.isEmpty())
+    if (extraInfo.isEmpty()) {
         extraInfo = info->shortNativeFilePath();
+    } else {
+        extraInfo.append(QLatin1String(" ("))
+                .append(Utils::FileName::fromString(info->fileName()).fileName())
+                .append(QLatin1String(")"));
+    }
 
     Core::LocatorFilterEntry filterEntry(this, name + info->symbolType(), id, info->icon());
     filterEntry.extraInfo = extraInfo;
diff --git a/src/plugins/cpptools/cpplocatorfilter_test.cpp b/src/plugins/cpptools/cpplocatorfilter_test.cpp
index 372b872a70701ae080dc93583cd2956ca8a3ec05..b9b08f3d54790ae584db87278b1b42a549423b86 100644
--- a/src/plugins/cpptools/cpplocatorfilter_test.cpp
+++ b/src/plugins/cpptools/cpplocatorfilter_test.cpp
@@ -175,19 +175,21 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
         << cppFunctionsFilter
         << _("function")
         << (QList<ResultData>()
-            << ResultData(_("functionDefinedInClass(bool, int)"), _("MyClass"))
-            << ResultData(_("functionDefinedInClass(bool, int)"), _("MyNamespace::MyClass"))
+            << ResultData(_("functionDefinedInClass(bool, int)"), _("MyClass (file1.cpp)"))
             << ResultData(_("functionDefinedInClass(bool, int)"),
-                          _("<anonymous namespace>::MyClass"))
-            << ResultData(_("functionDefinedOutSideClass(char)"), _("MyClass"))
-            << ResultData(_("functionDefinedOutSideClass(char)"), _("MyNamespace::MyClass"))
+                          _("MyNamespace::MyClass (file1.cpp)"))
+            << ResultData(_("functionDefinedInClass(bool, int)"),
+                          _("<anonymous namespace>::MyClass (file1.cpp)"))
+            << ResultData(_("functionDefinedOutSideClass(char)"), _("MyClass (file1.cpp)"))
+            << ResultData(_("functionDefinedOutSideClass(char)"),
+                          _("MyNamespace::MyClass (file1.cpp)"))
             << ResultData(_("functionDefinedOutSideClass(char)"),
-                          _("<anonymous namespace>::MyClass"))
+                          _("<anonymous namespace>::MyClass (file1.cpp)"))
             << ResultData(_("functionDefinedOutSideClassAndNamespace(float)"),
-                          _("MyNamespace::MyClass"))
+                          _("MyNamespace::MyClass (file1.cpp)"))
             << ResultData(_("myFunction(bool, int)"), testFileShort)
-            << ResultData(_("myFunction(bool, int)"), _("MyNamespace"))
-            << ResultData(_("myFunction(bool, int)"), _("<anonymous namespace>"))
+            << ResultData(_("myFunction(bool, int)"), _("MyNamespace (file1.cpp)"))
+            << ResultData(_("myFunction(bool, int)"), _("<anonymous namespace> (file1.cpp)"))
            );
 
     QTest::newRow("CppFunctionsFilter-WithNamespacePrefix")
@@ -195,12 +197,14 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
         << cppFunctionsFilter
         << _("mynamespace::")
         << (QList<ResultData>()
-            << ResultData(_("MyClass()"), _("MyNamespace::MyClass"))
-            << ResultData(_("functionDefinedInClass(bool, int)"), _("MyNamespace::MyClass"))
-            << ResultData(_("functionDefinedOutSideClass(char)"), _("MyNamespace::MyClass"))
+            << ResultData(_("MyClass()"), _("MyNamespace::MyClass (file1.cpp)"))
+            << ResultData(_("functionDefinedInClass(bool, int)"),
+                          _("MyNamespace::MyClass (file1.cpp)"))
+            << ResultData(_("functionDefinedOutSideClass(char)"),
+                          _("MyNamespace::MyClass (file1.cpp)"))
             << ResultData(_("functionDefinedOutSideClassAndNamespace(float)"),
-                          _("MyNamespace::MyClass"))
-            << ResultData(_("myFunction(bool, int)"), _("MyNamespace"))
+                          _("MyNamespace::MyClass (file1.cpp)"))
+            << ResultData(_("myFunction(bool, int)"), _("MyNamespace (file1.cpp)"))
            );
 
     QTest::newRow("CppClassesFilter")
@@ -264,9 +268,9 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
         << cppFunctionsFilter
         << _("M")
         << (QList<ResultData>()
-            << ResultData(_("anotherMethod"), _("MyClass"))
-            << ResultData(_("anotherMethod:"), _("MyClass"))
-            << ResultData(_("someMethod"), _("MyClass"))
+            << ResultData(_("anotherMethod"), _("MyClass (file1.mm)"))
+            << ResultData(_("anotherMethod:"), _("MyClass (file1.mm)"))
+            << ResultData(_("someMethod"), _("MyClass (file1.mm)"))
             );
 }