diff --git a/CHANGELOG.md b/CHANGELOG.md
index 540363e..2de6e50 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+#### 0.11.3+1
+  * Fix bootstrap to return the result of the original main.
+
 #### 0.11.3
   * Add support for the new `link[rel="x-dart-test"]` tags from the `test`
     package to the transformer.
diff --git a/lib/build/script_compactor.dart b/lib/build/script_compactor.dart
index 8327a8d..12655b3 100644
--- a/lib/build/script_compactor.dart
+++ b/lib/build/script_compactor.dart
@@ -119,7 +119,7 @@
     var mainScriptPath = _importPath(mainScript, primaryInput);
     buffer.writeln("import '$mainScriptPath' as i$i;");
     buffer.writeln();
-    buffer.writeln('void main() { i$i.main(); }');
+    buffer.writeln('main() => i$i.main();');
 
     var bootstrap = new Asset.fromString(bootstrapId, '$buffer');
     transform.addOutput(bootstrap);
diff --git a/pubspec.yaml b/pubspec.yaml
index b449783..c19b4dc 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: web_components
-version: 0.11.3
+version: 0.11.3+1
 author: Polymer.dart Authors <web-ui-dev@dartlang.org>
 homepage: https://www.dartlang.org/polymer-dart/
 description: >
diff --git a/test/build/script_compactor_test.dart b/test/build/script_compactor_test.dart
index b182c31..a5b07f6 100644
--- a/test/build/script_compactor_test.dart
+++ b/test/build/script_compactor_test.dart
@@ -40,7 +40,7 @@
 
         import 'index.dart' as i0;
 
-        void main() { i0.main(); }''',
+        main() => i0.main();''',
     'a|web/index.dart': '''
         library a.index;
         main(){}''',
@@ -85,7 +85,7 @@
         import 'package:b/a.dart' as i2;
         import 'index.dart' as i3;
 
-        void main() { i3.main(); }''',
+        main() => i3.main();''',
     'b|lib/a.html': '''
         <link rel="import" href="b/b.html">
         <link rel="import" href="../../packages/c/c.html">
@@ -136,7 +136,7 @@
         import 'index.html.0.dart' as i0;
         import 'index.html.1.dart' as i1;
 
-        void main() { i1.main(); }''',
+        main() => i1.main();''',
   }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('Cleans library names generated from file paths.', phases, {
@@ -201,7 +201,7 @@
 
         import 'test.html.0.dart' as i0;
 
-        void main() { i0.main(); }''',
+        main() => i0.main();''',
   }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('single script, with library', phases, {
@@ -225,7 +225,7 @@
 
         import 'test.html.0.dart' as i0;
 
-        void main() { i0.main(); }''',
+        main() => i0.main();''',
   }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('under lib/ directory not transformed', phases, {
@@ -287,7 +287,7 @@
         import 'test.html.3.dart' as i3;
         import 'test.dart' as i4;
 
-        void main() { i4.main(); }
+        main() => i4.main();
         ''',
     'a|web/test.html.0.dart': '''
         library a.web.test_html_0;
diff --git a/test/build/transformer_test.dart b/test/build/transformer_test.dart
index 924b290..4913468 100644
--- a/test/build/transformer_test.dart
+++ b/test/build/transformer_test.dart
@@ -103,7 +103,7 @@
         import 'package:b/foo.dart' as i1;
         import 'index.dart' as i2;
 
-        void main() { i2.main(); }
+        main() => i2.main();
         ''',
     'a|web/index.html.0.dart': '''
         // Must use package:urls inside inline script tags,
