diff --git a/tests/baselines/reference/tsxElementResolution19.js b/tests/baselines/reference/tsxElementResolution19.js
new file mode 100644
index 00000000000..ebcb66e536f
--- /dev/null
+++ b/tests/baselines/reference/tsxElementResolution19.js
@@ -0,0 +1,36 @@
+//// [tests/cases/conformance/jsx/tsxElementResolution19.tsx] ////
+
+//// [react.d.ts]
+
+declare module "react" {
+
+}
+
+//// [file1.tsx]
+declare module JSX {
+ interface Element { }
+}
+export class MyClass { }
+
+//// [file2.tsx]
+
+// Should not elide React import
+import * as React from 'react';
+import {MyClass} from './file1';
+
+;
+
+
+//// [file1.js]
+define(["require", "exports"], function (require, exports) {
+ var MyClass = (function () {
+ function MyClass() {
+ }
+ return MyClass;
+ })();
+ exports.MyClass = MyClass;
+});
+//// [file2.js]
+define(["require", "exports", './file1'], function (require, exports, file1_1) {
+ React.createElement(file1_1.MyClass, null);
+});
diff --git a/tests/baselines/reference/tsxElementResolution19.symbols b/tests/baselines/reference/tsxElementResolution19.symbols
new file mode 100644
index 00000000000..48aa4f962b6
--- /dev/null
+++ b/tests/baselines/reference/tsxElementResolution19.symbols
@@ -0,0 +1,28 @@
+=== tests/cases/conformance/jsx/react.d.ts ===
+
+No type information for this code.declare module "react" {
+No type information for this code.
+No type information for this code.}
+No type information for this code.
+No type information for this code.=== tests/cases/conformance/jsx/file1.tsx ===
+declare module JSX {
+>JSX : Symbol(JSX, Decl(file1.tsx, 0, 0))
+
+ interface Element { }
+>Element : Symbol(Element, Decl(file1.tsx, 0, 20))
+}
+export class MyClass { }
+>MyClass : Symbol(MyClass, Decl(file1.tsx, 2, 1))
+
+=== tests/cases/conformance/jsx/file2.tsx ===
+
+// Should not elide React import
+import * as React from 'react';
+>React : Symbol(React, Decl(file2.tsx, 2, 6))
+
+import {MyClass} from './file1';
+>MyClass : Symbol(MyClass, Decl(file2.tsx, 3, 8))
+
+;
+>MyClass : Symbol(MyClass, Decl(file2.tsx, 3, 8))
+
diff --git a/tests/baselines/reference/tsxElementResolution19.types b/tests/baselines/reference/tsxElementResolution19.types
new file mode 100644
index 00000000000..0fa1eefe5f6
--- /dev/null
+++ b/tests/baselines/reference/tsxElementResolution19.types
@@ -0,0 +1,29 @@
+=== tests/cases/conformance/jsx/react.d.ts ===
+
+No type information for this code.declare module "react" {
+No type information for this code.
+No type information for this code.}
+No type information for this code.
+No type information for this code.=== tests/cases/conformance/jsx/file1.tsx ===
+declare module JSX {
+>JSX : any
+
+ interface Element { }
+>Element : Element
+}
+export class MyClass { }
+>MyClass : MyClass
+
+=== tests/cases/conformance/jsx/file2.tsx ===
+
+// Should not elide React import
+import * as React from 'react';
+>React : typeof React
+
+import {MyClass} from './file1';
+>MyClass : typeof MyClass
+
+;
+> : any
+>MyClass : typeof MyClass
+
diff --git a/tests/cases/conformance/jsx/tsxElementResolution19.tsx b/tests/cases/conformance/jsx/tsxElementResolution19.tsx
new file mode 100644
index 00000000000..23e503ae962
--- /dev/null
+++ b/tests/cases/conformance/jsx/tsxElementResolution19.tsx
@@ -0,0 +1,21 @@
+//@jsx: react
+//@module: amd
+
+//@filename: react.d.ts
+declare module "react" {
+
+}
+
+//@filename: file1.tsx
+declare module JSX {
+ interface Element { }
+}
+export class MyClass { }
+
+//@filename: file2.tsx
+
+// Should not elide React import
+import * as React from 'react';
+import {MyClass} from './file1';
+
+;