diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index b27bfcf7af2ed8f93bc89b245fd690d03f1cd781..4d7bdb697217b7564aa71ce624ddc492b5b8dd79 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1069,7 +1069,8 @@ bool CppCodeCompletion::completeConstructorOrFunction(const QList<TypeOfExpressi
             if (doc->parse(Document::ParseDeclaration)) {
                 doc->check();
                 if (SimpleDeclarationAST *sd = doc->translationUnit()->ast()->asSimpleDeclaration()) {
-                    if (sd->declarators->declarator->postfix_declarators
+                    if (sd->declarators &&
+                        sd->declarators->declarator->postfix_declarators
                         && sd->declarators->declarator->postfix_declarators->asFunctionDeclarator()) {
                         autocompleteSignature = true;
                     }