diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts
index 3c09c850ce5..6cd6d0d7f18 100644
--- a/src/services/codefixes/fixAddMissingMember.ts
+++ b/src/services/codefixes/fixAddMissingMember.ts
@@ -190,7 +190,7 @@ namespace ts.codefix {
return { kind: InfoKind.JsxAttributes, token, attributes, parentDeclaration: token.parent };
}
- if (isIdentifier(token) && isCallExpression(parent)) {
+ if (isIdentifier(token) && isCallExpression(parent) && parent.expression === token) {
return { kind: InfoKind.Function, token, call: parent, sourceFile, modifierFlags: ModifierFlags.None, parentDeclaration: sourceFile };
}
diff --git a/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration19.ts b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration19.ts
new file mode 100644
index 00000000000..72caa99c572
--- /dev/null
+++ b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration19.ts
@@ -0,0 +1,6 @@
+///
+
+////declare function f(x: number): any;
+////f(foo);
+
+verify.not.codeFixAvailable("fixMissingFunctionDeclaration");
diff --git a/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration20.ts b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration20.ts
new file mode 100644
index 00000000000..e8a77670a22
--- /dev/null
+++ b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration20.ts
@@ -0,0 +1,8 @@
+///
+
+////const a = {
+//// b: { f(x: number) {} }
+////}
+////a.b.f(foo);
+
+verify.not.codeFixAvailable("fixMissingFunctionDeclaration");