diff --git a/.travis.yml b/.travis.yml
index 742339dfb21a66166640d9f42048ed039a6b1864..b9b724d7e480745ab3f1b10fed96eed25702a163 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,8 @@ node_js:
   - 8
   - 9
   - 10
+  - 11
+  - 12
 before_script:
   - npm run build
 script:
diff --git a/src/core/run.js b/src/core/run.js
index f8b979679e0f2491d34eb3306b9c51226d615018..964ede104ea10be993805bf0512b62d2bf2db02b 100644
--- a/src/core/run.js
+++ b/src/core/run.js
@@ -174,7 +174,7 @@ function run(refs, schema, container) {
         // this is the only case where all sub-schemas
         // must be resolved before any merge
         schemas.forEach(subSchema => {
-          const _sub = reduce(subSchema, null, rootPath, parentSchema);
+          const _sub = reduce(subSchema, null, rootPath);
 
           // call given thunks if present
           utils.merge(sub, typeof _sub.thunk === 'function'
diff --git a/src/core/traverse.js b/src/core/traverse.js
index f68c8f16cd8dd249d887b9983795c61c94c68d01..40f61df8a355d5b377bce4edba68b6eec94a27fc 100644
--- a/src/core/traverse.js
+++ b/src/core/traverse.js
@@ -7,7 +7,7 @@ import optionAPI from '../api/option';
 
 // TODO provide types
 function traverse(schema, path, resolve, rootSchema) {
-  schema = resolve(schema, null, path, rootSchema);
+  schema = resolve(schema, null, path);
 
   if (!schema) {
     return;