diff --git a/CHANGELOG.md b/CHANGELOG.md
index f1be1f8..4f998f4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+#### 0.10.5+2
+  * Append html imports in front of the dart script tag, if one exists in
+    `document.head`.
+
 #### 0.10.5+1
   * Fix @HtmlImport with relative paths from within folders in deployment mode.
 
diff --git a/lib/build/web_components.dart b/lib/build/web_components.dart
index d1028b2..a5bf002 100644
--- a/lib/build/web_components.dart
+++ b/lib/build/web_components.dart
@@ -32,10 +32,14 @@
       resolver, transform, scriptId, newScriptId,
       errorIfNotFound: false, plugins: plugins);
 
-  // Add all seen imports to the document.
+  // Add all seen imports to the document, before the first dart script tag if
+  // it exists.
+  var dartScript =
+      document.head.querySelector('script[type="application/dart"]');
   for (var importPath in htmlImportRecorder.importPaths) {
-    document.head.append(new dom.Element.tag('link')
-      ..attributes = {'rel': 'import', 'href': importPath,});
+    var import = new dom.Element.tag('link')
+      ..attributes = {'rel': 'import', 'href': importPath,};
+    document.head.insertBefore(import, dartScript);
   }
 
   return initializeBootstrap;
diff --git a/pubspec.yaml b/pubspec.yaml
index ebc2995..d26edac 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: web_components
-version: 0.10.5+1
+version: 0.10.5+2
 author: Polymer.dart Authors <web-ui-dev@dartlang.org>
 homepage: https://www.dartlang.org/polymer-dart/
 description: >
diff --git a/test/build/transformer_test.dart b/test/build/transformer_test.dart
index bafdbcb..369dc58 100644
--- a/test/build/transformer_test.dart
+++ b/test/build/transformer_test.dart
@@ -118,4 +118,58 @@
         bar() {}
         ''',
   }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+
+  testPhases('imports go above the dart script', phases, {
+    'b|web/index.html': '''
+        <!DOCTYPE html>
+        <html>
+          <head>
+            <script>var x;</script>
+            <script type="application/dart" src="index.dart"></script>
+            <script>var y;</script>
+          </head>
+          <body>
+          </body>
+        </html>
+        ''',
+    'b|web/index.dart': '''
+        @HtmlImport('package:b/b.html')
+        library b;
+
+        import 'package:web_components/html_import_annotation.dart';
+        import 'package:c/c.dart';
+        ''',
+    'b|lib/b.html': '''
+        <div>b</div>
+        ''',
+    'c|lib/c.dart': '''
+        @HtmlImport('c.html')
+        library c;
+
+        import 'package:web_components/html_import_annotation.dart';
+        ''',
+    'c|lib/c.html': '''
+        <div>c</div>
+        ''',
+    'initialize|lib/initialize.dart': mockInitialize,
+    'web_components|lib/html_import_annotation.dart': mockHtmlImportAnnotation,
+  }, {
+    'b|web/index.html': '''
+        <!DOCTYPE html>
+        <html>
+          <head>
+              <script>var x;</script>
+          </head>
+          <body>
+            <div hidden="">
+              <div>c</div>
+              <div>b</div>
+              <script type="application/dart" src="index.bootstrap.initialize.dart">
+              </script>
+              <script>var y;</script>
+            </div>
+          </body>
+        </html>
+        ''',
+  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
