diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts
index 98123d0275b81..748cab985dab1 100644
--- a/src/compiler/checker.ts
+++ b/src/compiler/checker.ts
@@ -35323,9 +35323,7 @@ namespace ts {
error(node, Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type);
}
- if (isImportSpecifier(node) &&
- (target.valueDeclaration && target.valueDeclaration.flags & NodeFlags.Deprecated
- || every(target.declarations, d => !!(d.flags & NodeFlags.Deprecated)))) {
+ if (isImportSpecifier(node) && every(target.declarations, d => !!(getCombinedNodeFlags(d) & NodeFlags.Deprecated))) {
errorOrSuggestion(/* isError */ false, node.name, Diagnostics._0_is_deprecated, symbol.escapedName as string);
}
}
diff --git a/tests/cases/fourslash/jsdocDeprecated_suggestion8.ts b/tests/cases/fourslash/jsdocDeprecated_suggestion8.ts
new file mode 100644
index 0000000000000..a1d519cb2e54b
--- /dev/null
+++ b/tests/cases/fourslash/jsdocDeprecated_suggestion8.ts
@@ -0,0 +1,13 @@
+///
+
+// @Filename: first.ts
+//// /** @deprecated */
+//// export declare function tap(next: null): void;
+//// export declare function tap(next: T): T;
+// @Filename: second.ts
+//// import { tap } from './first';
+//// tap
+
+goTo.file('second.ts')
+verify.noErrors()
+verify.getSuggestionDiagnostics([]);
diff --git a/tests/cases/fourslash/jsdocDeprecated_suggestion9.ts b/tests/cases/fourslash/jsdocDeprecated_suggestion9.ts
new file mode 100644
index 0000000000000..bf5ef1b12da21
--- /dev/null
+++ b/tests/cases/fourslash/jsdocDeprecated_suggestion9.ts
@@ -0,0 +1,11 @@
+///
+
+// @Filename: first.ts
+//// export class logger { }
+// @Filename: second.ts
+//// import { logger } from './first';
+//// new logger()
+
+goTo.file('second.ts')
+verify.noErrors()
+verify.getSuggestionDiagnostics([]);