diff --git a/tests/baselines/reference/ambientShorthand.js b/tests/baselines/reference/ambientShorthand.js
index 624b0b84771..109264fc91b 100644
--- a/tests/baselines/reference/ambientShorthand.js
+++ b/tests/baselines/reference/ambientShorthand.js
@@ -9,7 +9,8 @@ declare module "fs";
///
import foo, {bar} from "jquery";
import * as baz from "fs";
-foo(bar, baz);
+import boom = require("jquery");
+foo(bar, baz, boom);
//// [user.js]
@@ -17,4 +18,5 @@ foo(bar, baz);
///
var jquery_1 = require("jquery");
var baz = require("fs");
-jquery_1["default"](jquery_1.bar, baz);
+var boom = require("jquery");
+jquery_1["default"](jquery_1.bar, baz, boom);
diff --git a/tests/baselines/reference/ambientShorthand.symbols b/tests/baselines/reference/ambientShorthand.symbols
index 91cefe8d4c4..6747fd65173 100644
--- a/tests/baselines/reference/ambientShorthand.symbols
+++ b/tests/baselines/reference/ambientShorthand.symbols
@@ -7,10 +7,14 @@ import foo, {bar} from "jquery";
import * as baz from "fs";
>baz : Symbol(baz, Decl(user.ts, 2, 6))
-foo(bar, baz);
+import boom = require("jquery");
+>boom : Symbol(boom, Decl(user.ts, 2, 26))
+
+foo(bar, baz, boom);
>foo : Symbol(foo, Decl(user.ts, 1, 6))
>bar : Symbol(bar, Decl(user.ts, 1, 13))
>baz : Symbol(baz, Decl(user.ts, 2, 6))
+>boom : Symbol(boom, Decl(user.ts, 2, 26))
=== tests/cases/conformance/ambient/declarations.d.ts ===
declare module "jquery"
diff --git a/tests/baselines/reference/ambientShorthand.types b/tests/baselines/reference/ambientShorthand.types
index 12b18953e88..054349b1a6a 100644
--- a/tests/baselines/reference/ambientShorthand.types
+++ b/tests/baselines/reference/ambientShorthand.types
@@ -7,11 +7,15 @@ import foo, {bar} from "jquery";
import * as baz from "fs";
>baz : any
-foo(bar, baz);
->foo(bar, baz) : any
+import boom = require("jquery");
+>boom : any
+
+foo(bar, baz, boom);
+>foo(bar, baz, boom) : any
>foo : any
>bar : any
>baz : any
+>boom : any
=== tests/cases/conformance/ambient/declarations.d.ts ===
declare module "jquery"
diff --git a/tests/baselines/reference/ambientShorthand_reExport.js b/tests/baselines/reference/ambientShorthand_reExport.js
new file mode 100644
index 00000000000..d0433e5d478
--- /dev/null
+++ b/tests/baselines/reference/ambientShorthand_reExport.js
@@ -0,0 +1,30 @@
+//// [tests/cases/conformance/ambient/ambientShorthand_reExport.ts] ////
+
+//// [declarations.d.ts]
+declare module "jquery";
+
+//// [reExportX.ts]
+export {x} from "jquery";
+
+//// [reExportAll.ts]
+export * from "jquery";
+
+//// [reExportUser.ts]
+import {x} from "./reExportX";
+import * as $ from "./reExportAll";
+// '$' is not callable, it is an object.
+x($);
+
+
+//// [reExportX.js]
+"use strict";
+var jquery_1 = require("jquery");
+exports.x = jquery_1.x;
+//// [reExportAll.js]
+"use strict";
+//// [reExportUser.js]
+"use strict";
+var reExportX_1 = require("./reExportX");
+var $ = require("./reExportAll");
+// '$' is not callable, it is an object.
+reExportX_1.x($);
diff --git a/tests/baselines/reference/ambientShorthand_reExport.symbols b/tests/baselines/reference/ambientShorthand_reExport.symbols
new file mode 100644
index 00000000000..1e8d5318011
--- /dev/null
+++ b/tests/baselines/reference/ambientShorthand_reExport.symbols
@@ -0,0 +1,22 @@
+=== tests/cases/conformance/ambient/declarations.d.ts ===
+declare module "jquery";
+No type information for this code.
+No type information for this code.=== tests/cases/conformance/ambient/reExportX.ts ===
+export {x} from "jquery";
+>x : Symbol(x, Decl(reExportX.ts, 0, 8))
+
+=== tests/cases/conformance/ambient/reExportAll.ts ===
+export * from "jquery";
+No type information for this code.
+No type information for this code.=== tests/cases/conformance/ambient/reExportUser.ts ===
+import {x} from "./reExportX";
+>x : Symbol(x, Decl(reExportUser.ts, 0, 8))
+
+import * as $ from "./reExportAll";
+>$ : Symbol($, Decl(reExportUser.ts, 1, 6))
+
+// '$' is not callable, it is an object.
+x($);
+>x : Symbol(x, Decl(reExportUser.ts, 0, 8))
+>$ : Symbol($, Decl(reExportUser.ts, 1, 6))
+
diff --git a/tests/baselines/reference/ambientShorthand_reExport.types b/tests/baselines/reference/ambientShorthand_reExport.types
new file mode 100644
index 00000000000..5765c7e0331
--- /dev/null
+++ b/tests/baselines/reference/ambientShorthand_reExport.types
@@ -0,0 +1,23 @@
+=== tests/cases/conformance/ambient/declarations.d.ts ===
+declare module "jquery";
+No type information for this code.
+No type information for this code.=== tests/cases/conformance/ambient/reExportX.ts ===
+export {x} from "jquery";
+>x : any
+
+=== tests/cases/conformance/ambient/reExportAll.ts ===
+export * from "jquery";
+No type information for this code.
+No type information for this code.=== tests/cases/conformance/ambient/reExportUser.ts ===
+import {x} from "./reExportX";
+>x : any
+
+import * as $ from "./reExportAll";
+>$ : typeof $
+
+// '$' is not callable, it is an object.
+x($);
+>x($) : any
+>x : any
+>$ : typeof $
+
diff --git a/tests/cases/conformance/ambient/ambientShorthand.ts b/tests/cases/conformance/ambient/ambientShorthand.ts
index 3070abff595..35bb53a92cf 100644
--- a/tests/cases/conformance/ambient/ambientShorthand.ts
+++ b/tests/cases/conformance/ambient/ambientShorthand.ts
@@ -7,4 +7,5 @@ declare module "fs";
///
import foo, {bar} from "jquery";
import * as baz from "fs";
-foo(bar, baz);
+import boom = require("jquery");
+foo(bar, baz, boom);
diff --git a/tests/cases/conformance/ambient/ambientShorthand_reExport.ts b/tests/cases/conformance/ambient/ambientShorthand_reExport.ts
new file mode 100644
index 00000000000..b78afe42675
--- /dev/null
+++ b/tests/cases/conformance/ambient/ambientShorthand_reExport.ts
@@ -0,0 +1,14 @@
+// @Filename: declarations.d.ts
+declare module "jquery";
+
+// @Filename: reExportX.ts
+export {x} from "jquery";
+
+// @Filename: reExportAll.ts
+export * from "jquery";
+
+// @Filename: reExportUser.ts
+import {x} from "./reExportX";
+import * as $ from "./reExportAll";
+// '$' is not callable, it is an object.
+x($);