diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts
index fe98d308b86..4dfce94c928 100644
--- a/src/compiler/emitter.ts
+++ b/src/compiler/emitter.ts
@@ -2097,14 +2097,10 @@ module ts {
var imports = getExternalImportDeclarations(node);
writeLine();
write("define(");
-
if(node.amdModuleName) {
- write("\"" + node.amdModuleName + "\"");
- write(", ");
+ write("\"" + node.amdModuleName + "\", ");
}
-
write("[\"require\", \"exports\"");
-
forEach(imports, imp => {
write(", ");
emitLiteral(imp.externalModuleName);
diff --git a/tests/baselines/reference/amdModuleName1.js b/tests/baselines/reference/amdModuleName1.js
new file mode 100644
index 00000000000..e3505a007e3
--- /dev/null
+++ b/tests/baselines/reference/amdModuleName1.js
@@ -0,0 +1,22 @@
+//// [amdModuleName1.ts]
+///
+class Foo {
+ x: number;
+ constructor() {
+ this.x = 5;
+ }
+}
+export = Foo;
+
+
+//// [amdModuleName1.js]
+define("NamedModule", ["require", "exports"], function (require, exports) {
+ ///
+ var Foo = (function () {
+ function Foo() {
+ this.x = 5;
+ }
+ return Foo;
+ })();
+ return Foo;
+});
diff --git a/tests/baselines/reference/amdModuleName1.types b/tests/baselines/reference/amdModuleName1.types
new file mode 100644
index 00000000000..02ad9472354
--- /dev/null
+++ b/tests/baselines/reference/amdModuleName1.types
@@ -0,0 +1,19 @@
+=== tests/cases/compiler/amdModuleName1.ts ===
+///
+class Foo {
+>Foo : Foo
+
+ x: number;
+>x : number
+
+ constructor() {
+ this.x = 5;
+>this.x = 5 : number
+>this.x : number
+>this : Foo
+>x : number
+ }
+}
+export = Foo;
+>Foo : Foo
+
diff --git a/tests/cases/compiler/amdModuleName1.ts b/tests/cases/compiler/amdModuleName1.ts
new file mode 100644
index 00000000000..fef7956e332
--- /dev/null
+++ b/tests/cases/compiler/amdModuleName1.ts
@@ -0,0 +1,9 @@
+//@module: amd
+///
+class Foo {
+ x: number;
+ constructor() {
+ this.x = 5;
+ }
+}
+export = Foo;