diff --git a/dist b/dist
index b9f9c762ebed9b30c44b1c87b555e89a7257ae58..428d825f4141fd3198bb88aee88a014278c4c856 160000
--- a/dist
+++ b/dist
@@ -1 +1 @@
-Subproject commit b9f9c762ebed9b30c44b1c87b555e89a7257ae58
+Subproject commit 428d825f4141fd3198bb88aee88a014278c4c856
diff --git a/package.json b/package.json
index 6e3a4175950b3aafd3f5f73429beda20d68c3065..3ab51ee8c04ceb10e810eadf6e19265e287800d4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "yjs",
-  "version": "11.2.0",
+  "version": "11.2.1",
   "description": "A framework for real-time p2p shared editing on arbitrary complex data types",
   "main": "./src/y.js",
   "scripts": {
diff --git a/src/y.js b/src/y.js
index 815e5ac2858011ccfb4c1b2ee1b892bf53b4656f..681004ee893a05d9487958255ab514ac1b14bac6 100644
--- a/src/y.js
+++ b/src/y.js
@@ -50,6 +50,7 @@ function requestModules (modules) {
           })
           promises.push(requireModule.promise)
         } else {
+          console.info('YJS: Please do not depend on automatic requiring of modules anymore! Extend modules as follows `require(\'y-modulename\')(Y)`')
           require(modulename)(Y)
         }
       } else {
@@ -96,23 +97,25 @@ function Y (opts/* :YOptions */) /* :Promise<YConfig> */ {
     modules.push(opts.share[name])
   }
   Y.sourceDir = opts.sourceDir
-  return Y.requestModules(modules).then(function () {
-    return new Promise(function (resolve, reject) {
-      if (opts == null) reject('An options object is expected! ')
-      else if (opts.connector == null) reject('You must specify a connector! (missing connector property)')
-      else if (opts.connector.name == null) reject('You must specify connector name! (missing connector.name property)')
-      else if (opts.db == null) reject('You must specify a database! (missing db property)')
-      else if (opts.connector.name == null) reject('You must specify db name! (missing db.name property)')
-      else if (opts.share == null) reject('You must specify a set of shared types!')
-      else {
-        var yconfig = new YConfig(opts)
-        yconfig.db.whenUserIdSet(function () {
-          yconfig.init(function () {
-            resolve(yconfig)
+  return new Promise(function (resolve, reject) {
+    setTimeout(function () {
+      Y.requestModules(modules).then(function () {
+        if (opts == null) reject('An options object is expected! ')
+        else if (opts.connector == null) reject('You must specify a connector! (missing connector property)')
+        else if (opts.connector.name == null) reject('You must specify connector name! (missing connector.name property)')
+        else if (opts.db == null) reject('You must specify a database! (missing db property)')
+        else if (opts.connector.name == null) reject('You must specify db name! (missing db.name property)')
+        else if (opts.share == null) reject('You must specify a set of shared types!')
+        else {
+          var yconfig = new YConfig(opts)
+          yconfig.db.whenUserIdSet(function () {
+            yconfig.init(function () {
+              resolve(yconfig)
+            })
           })
-        })
-      }
-    })
+        }
+      }).catch(reject)
+    }, 0)
   })
 }