diff --git a/lib/core/src/client/preview/start.js b/lib/core/src/client/preview/start.js
index <HASH>..<HASH> 100644
--- a/lib/core/src/client/preview/start.js
+++ b/lib/core/src/client/preview/start.js
@@ -316,9 +316,8 @@ export default function start(render, { decorateStory } = {}) {
       reqs = [loadable];
     }
 
-    let currentExports;
+    let currentExports = new Set();
     if (reqs) {
-      currentExports = new Set();
       reqs.forEach(req => {
         req.keys().forEach(filename => {
           const fileExports = req(filename);
@@ -326,7 +325,16 @@ export default function start(render, { decorateStory } = {}) {
         });
       });
     } else {
-      currentExports = new Set(loadable());
+      const exported = loadable();
+      if (Array.isArray(exported) && !exported.find(obj => !obj.default)) {
+        currentExports = new Set(exported);
+      } else if (exported) {
+        logger.warn(
+          `Loader function passed to 'configure' should return void or an array of module exports. Received: ${JSON.stringify(
+            exported
+          )}`
+        );
+      }
     }
 
     const removed = [...previousExports].filter(exp => !currentExports.has(exp));
Core: Make load by function more strict with warning