diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts
index 7b3b51c3f27..b1a0c1fff5b 100644
--- a/src/compiler/emitter.ts
+++ b/src/compiler/emitter.ts
@@ -1425,6 +1425,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
case SyntaxKind.IfStatement:
case SyntaxKind.JsxSelfClosingElement:
case SyntaxKind.JsxOpeningElement:
+ case SyntaxKind.JsxSpreadAttribute:
case SyntaxKind.JsxExpression:
case SyntaxKind.NewExpression:
case SyntaxKind.ParenthesizedExpression:
diff --git a/tests/baselines/reference/tsxExternalModuleEmit2.js b/tests/baselines/reference/tsxExternalModuleEmit2.js
new file mode 100644
index 00000000000..f8fe6096090
--- /dev/null
+++ b/tests/baselines/reference/tsxExternalModuleEmit2.js
@@ -0,0 +1,25 @@
+//// [tests/cases/conformance/jsx/tsxExternalModuleEmit2.tsx] ////
+
+//// [modules.d.ts]
+
+declare module 'mod' {
+ var y: any;
+ export default y;
+}
+
+//// [app.tsx]
+import Main from 'mod';
+declare var Foo, React;
+// Should see mod_1['default'] in emit here
+;
+// Should see mod_1['default'] in emit here
+;
+
+
+
+//// [app.js]
+var mod_1 = require('mod');
+// Should see mod_1['default'] in emit here
+React.createElement(Foo, {"handler": mod_1["default"]});
+// Should see mod_1['default'] in emit here
+React.createElement(Foo, React.__spread({}, mod_1["default"]));
diff --git a/tests/baselines/reference/tsxExternalModuleEmit2.symbols b/tests/baselines/reference/tsxExternalModuleEmit2.symbols
new file mode 100644
index 00000000000..6d1c5aaebb8
--- /dev/null
+++ b/tests/baselines/reference/tsxExternalModuleEmit2.symbols
@@ -0,0 +1,28 @@
+=== tests/cases/conformance/jsx/modules.d.ts ===
+
+declare module 'mod' {
+ var y: any;
+>y : Symbol(y, Decl(modules.d.ts, 2, 5))
+
+ export default y;
+>y : Symbol(y, Decl(modules.d.ts, 2, 5))
+}
+
+=== tests/cases/conformance/jsx/app.tsx ===
+import Main from 'mod';
+>Main : Symbol(Main, Decl(app.tsx, 0, 6))
+
+declare var Foo, React;
+>Foo : Symbol(Foo, Decl(app.tsx, 1, 11))
+>React : Symbol(React, Decl(app.tsx, 1, 16))
+
+// Should see mod_1['default'] in emit here
+;
+>Foo : Symbol(Foo, Decl(app.tsx, 1, 11))
+>handler : Symbol(unknown)
+
+// Should see mod_1['default'] in emit here
+;
+>Foo : Symbol(Foo, Decl(app.tsx, 1, 11))
+
+
diff --git a/tests/baselines/reference/tsxExternalModuleEmit2.types b/tests/baselines/reference/tsxExternalModuleEmit2.types
new file mode 100644
index 00000000000..b4746fe46c7
--- /dev/null
+++ b/tests/baselines/reference/tsxExternalModuleEmit2.types
@@ -0,0 +1,34 @@
+=== tests/cases/conformance/jsx/modules.d.ts ===
+
+declare module 'mod' {
+ var y: any;
+>y : any
+
+ export default y;
+>y : any
+}
+
+=== tests/cases/conformance/jsx/app.tsx ===
+import Main from 'mod';
+>Main : any
+
+declare var Foo, React;
+>Foo : any
+>React : any
+
+// Should see mod_1['default'] in emit here
+;
+> : any
+>Foo : any
+>handler : any
+>Main : any
+>Foo : any
+
+// Should see mod_1['default'] in emit here
+;
+> : any
+>Foo : any
+>Main : any
+>Foo : any
+
+
diff --git a/tests/cases/conformance/jsx/tsxExternalModuleEmit2.tsx b/tests/cases/conformance/jsx/tsxExternalModuleEmit2.tsx
new file mode 100644
index 00000000000..fa14d14d699
--- /dev/null
+++ b/tests/cases/conformance/jsx/tsxExternalModuleEmit2.tsx
@@ -0,0 +1,17 @@
+//@jsx: react
+//@module: commonjs
+
+//@filename: modules.d.ts
+declare module 'mod' {
+ var y: any;
+ export default y;
+}
+
+//@filename: app.tsx
+import Main from 'mod';
+declare var Foo, React;
+// Should see mod_1['default'] in emit here
+;
+// Should see mod_1['default'] in emit here
+;
+