diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp
index 46f98920f738dedd22ec24b1573f571977a58cda..5b3e77ee8d1ff466079b5239f4501a1788922c20 100644
--- a/src/libs/cplusplus/FindUsages.cpp
+++ b/src/libs/cplusplus/FindUsages.cpp
@@ -62,8 +62,10 @@ QList<int> FindUsages::operator()(Symbol *symbol, Identifier *id, AST *ast)
     _references.clear();
     _declSymbol = symbol;
     _id = id;
-    _exprDoc = Document::create("<references>");
-    accept(ast);
+    if (_declSymbol && _id) {
+        _exprDoc = Document::create("<references>");
+        accept(ast);
+    }
     return _references;
 }