diff --git a/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts b/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts
index ddd5bacea26..0735e85bc70 100644
--- a/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts
+++ b/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts
@@ -34,7 +34,7 @@ namespace ts.codefix {
}
function symbolPointsToNonPrivateMember (symbol: Symbol) {
- return !(getModifierFlags(symbol.valueDeclaration) & ModifierFlags.Private);
+ return !symbol.valueDeclaration || !(getModifierFlags(symbol.valueDeclaration) & ModifierFlags.Private);
}
function addMissingDeclarations(
diff --git a/tests/cases/fourslash/codefixClassImplementInterface_omit.ts b/tests/cases/fourslash/codefixClassImplementInterface_omit.ts
new file mode 100644
index 00000000000..f4ff82028d4
--- /dev/null
+++ b/tests/cases/fourslash/codefixClassImplementInterface_omit.ts
@@ -0,0 +1,30 @@
+///
+
+////interface One {
+//// a: number;
+//// b: string;
+////}
+////
+////interface Two extends Omit {
+//// c: boolean;
+////}
+////
+////class TwoStore implements Two {[| |]}
+
+verify.codeFix({
+ description: "Implement interface 'Two'",
+ newFileContent:
+`interface One {
+ a: number;
+ b: string;
+}
+
+interface Two extends Omit {
+ c: boolean;
+}
+
+class TwoStore implements Two {
+ c: boolean;
+ b: string;
+}`,
+});