diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts
index e1173a55aaa..9ba35313e48 100644
--- a/src/compiler/checker.ts
+++ b/src/compiler/checker.ts
@@ -982,13 +982,7 @@ namespace ts {
}
function getTargetOfGlobalModuleExportDeclaration(node: GlobalModuleExportDeclaration): Symbol {
- const moduleSymbol = node.parent.symbol;
- if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports["export="]) {
- return getMergedSymbol(moduleSymbol.exports["export="].exportSymbol);
- }
- else {
- return getMergedSymbol(moduleSymbol);
- }
+ return resolveExternalModuleSymbol(node.parent.symbol);
}
function getTargetOfExportSpecifier(node: ExportSpecifier): Symbol {
diff --git a/tests/baselines/reference/umd6.symbols b/tests/baselines/reference/umd6.symbols
index 3b417e005d6..d08507f1ea2 100644
--- a/tests/baselines/reference/umd6.symbols
+++ b/tests/baselines/reference/umd6.symbols
@@ -2,7 +2,9 @@
///
let y: number = Foo.fn();
>y : Symbol(y, Decl(a.ts, 1, 3))
+>Foo.fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 25))
>Foo : Symbol(Foo, Decl(foo.d.ts, 4, 15))
+>fn : Symbol(Foo.fn, Decl(foo.d.ts, 1, 25))
=== tests/cases/conformance/externalModules/foo.d.ts ===
diff --git a/tests/baselines/reference/umd6.types b/tests/baselines/reference/umd6.types
index dc0f45846c2..7318a43057a 100644
--- a/tests/baselines/reference/umd6.types
+++ b/tests/baselines/reference/umd6.types
@@ -2,10 +2,10 @@
///
let y: number = Foo.fn();
>y : number
->Foo.fn() : any
->Foo.fn : any
->Foo : any
->fn : any
+>Foo.fn() : number
+>Foo.fn : () => number
+>Foo : typeof Foo
+>fn : () => number
=== tests/cases/conformance/externalModules/foo.d.ts ===