diff --git a/escodegen.js b/escodegen.js
index c695776..8f98fbc 100644
--- a/escodegen.js
+++ b/escodegen.js
@@ -2262,9 +2262,11 @@
         },
 
         ExportSpecifier: function (expr, precedence, flags) {
-            var result = [ (expr.id || expr.local).name ];
-            if (expr.name) {
-                result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(expr.name));
+            var exported = (expr.id || expr.imported).name;
+            var result = [ exported ];
+            var id = expr.name || expr.local;
+            if (id && id.name !== exported) {
+                result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(id));
             }
             return result;
         },
diff --git a/test/compare-esprima2/import-with-default.expected.js b/test/compare-esprima2/import-with-default.expected.js
index 75d9a1f..5e55c4f 100644
--- a/test/compare-esprima2/import-with-default.expected.js
+++ b/test/compare-esprima2/import-with-default.expected.js
@@ -2,7 +2,7 @@
 import foo, * as foo from 'foo';
 import * as foo from 'foo';
 import ok, {
-    foo,
-    test,
+    foo as bar,
+    test as testing,
     logging
 } from 'foo';
diff --git a/test/compare-esprima2/import-with-default.expected.min.js b/test/compare-esprima2/import-with-default.expected.min.js
index 9541f43..6b6105f 100644
--- a/test/compare-esprima2/import-with-default.expected.min.js
+++ b/test/compare-esprima2/import-with-default.expected.min.js
@@ -1 +1 @@
-import foo from'foo';import foo,*as foo from'foo';import*as foo from'foo';import ok,{foo,test,logging}from'foo'
+import foo from'foo';import foo,*as foo from'foo';import*as foo from'foo';import ok,{foo as bar,test as testing,logging}from'foo'
diff --git a/test/compare-esprima2/import-with-default.js b/test/compare-esprima2/import-with-default.js
index 75d9a1f..5e55c4f 100644
--- a/test/compare-esprima2/import-with-default.js
+++ b/test/compare-esprima2/import-with-default.js
@@ -2,7 +2,7 @@
 import foo, * as foo from 'foo';
 import * as foo from 'foo';
 import ok, {
-    foo,
-    test,
+    foo as bar,
+    test as testing,
     logging
 } from 'foo';
