| Index: sdk/lib/_internal/compiler/js_lib/js_helper.dart
 | 
| diff --git a/sdk/lib/_internal/compiler/js_lib/js_helper.dart b/sdk/lib/_internal/compiler/js_lib/js_helper.dart
 | 
| index d2f38367b381e9d4d357e4e6a715f45953074e96..63a13931be7ac3c18a13c27912d7cba89619d9e0 100644
 | 
| --- a/sdk/lib/_internal/compiler/js_lib/js_helper.dart
 | 
| +++ b/sdk/lib/_internal/compiler/js_lib/js_helper.dart
 | 
| @@ -15,6 +15,7 @@ import 'dart:_js_embedded_names' show
 | 
|      DEFERRED_LIBRARY_HASHES,
 | 
|      INITIALIZE_LOADED_HUNK,
 | 
|      IS_HUNK_LOADED,
 | 
| +    IS_HUNK_INITIALIZED,
 | 
|      NATIVE_SUPERCLASS_TAG_NAME;
 | 
|  
 | 
|  import 'dart:collection';
 | 
| @@ -3313,15 +3314,18 @@ Future<Null> loadDeferredLibrary(String loadId) {
 | 
|    // The indices into `uris` and `hashes` that we want to load.
 | 
|    List<int> indices = new List.generate(uris.length, (i) => i);
 | 
|    var isHunkLoaded = JS_EMBEDDED_GLOBAL('', IS_HUNK_LOADED);
 | 
| +  var isHunkInitialized = JS_EMBEDDED_GLOBAL('', IS_HUNK_INITIALIZED);
 | 
|    // Filter away indices for hunks that have already been loaded.
 | 
|    List<int> indicesToLoad = indices
 | 
|        .where((int i) => !JS('bool','#(#)', isHunkLoaded, hashes[i]))
 | 
|        .toList();
 | 
| -  // Load the needed hunks.
 | 
| +  List<int> indicesToInitialize = indices
 | 
| +      .where((int i) => !JS('bool','#(#)', isHunkInitialized, hashes[i]))
 | 
| +      .toList();  // Load the needed hunks.
 | 
|    return Future.wait(indicesToLoad
 | 
|        .map((int i) => _loadHunk(uris[i]))).then((_) {
 | 
|      // Now all hunks have been loaded, we run the needed initializers.
 | 
| -    for (int i in indicesToLoad) {
 | 
| +    for (int i in indicesToInitialize) {
 | 
|        var initializer = JS_EMBEDDED_GLOBAL('', INITIALIZE_LOADED_HUNK);
 | 
|        JS('void', '#(#)', initializer, hashes[i]);
 | 
|      }
 | 
| 
 |