diff --git a/lib/schema.js b/lib/schema.js
index 0a72848d4d49108a74ed842d7fa5a076fe802c8a..2869a943500b124382fc938afa3476616d89a4c0 100644
--- a/lib/schema.js
+++ b/lib/schema.js
@@ -126,7 +126,8 @@ const resolve$ref = Promise.method((val, base$id) => {
 });
 const processFurther = Promise.method((val, key, $id) => {
   const base$id = $id;
-  if (val.$ref) {
+  if (val.oneOf) return processISchema(val, base$id);
+  else if (val.$ref) {
     return resolve$ref(val, base$id);
   } else {
     if (val.items && val.type === 'array') {