diff --git a/gulptasks/schemas.js b/gulptasks/schemas.js
index <HASH>..<HASH> 100644
--- a/gulptasks/schemas.js
+++ b/gulptasks/schemas.js
@@ -38,9 +38,10 @@ function xmlToJsonChain(name, dest) {
       gutil.log(`Skipped running saxon for ${json}.`);
       return;
     }
-    exec(`${options.saxon} -xsl:` +
-         "/usr/share/xml/tei/stylesheet/odds/odd2json.xsl" +
-         ` -s:${compiled} -o:${json} callback=''`);
+
+    yield exec(`${options.saxon} -xsl:` +
+               "/usr/share/xml/tei/stylesheet/odds/odd2json.xsl" +
+               ` -s:${compiled} -o:${json} callback=''`);
   }
 
   gulp.task(compiledToJsonTaskName, [rngTaskName],
Fix a race condition.

Forgot to wait for the exec to end.