diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index 67e260230c03680f0429437aca2e02a04f7b1a0c..4fffd4818dd34fa5eae34bee0df02dcd404baddd 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -705,7 +705,8 @@ bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node)
 {
     if (TemplateArgumentListEntry *entry = templateArgumentListEntry(cursor())) {
         rewind(entry->cursor);
-        return entry->ast;
+        node = entry->ast;
+        return entry->ast != 0;
     }
 
     unsigned start = cursor();