diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -76,7 +76,8 @@ function transformSource (runner, config, source, map, callback) {
       runnerPath,
       ioDelimiter,
       config.engine
-    )
+    ),
+    { stdio: ['pipe', 'pipe', process.stderr] }
   )
   if (config.timeoutMs) {
     var cancelTimeout = setTimeout(function () {
@@ -108,10 +109,6 @@ function transformSource (runner, config, source, map, callback) {
     }
   })
 
-  child.stderr.on('data', function (data) {
-    callback(data)
-  })
-
   child.stdin.on('error', function (error) {
     // When the `runner` command is not found, stdin will not be open.
     // Attemping to write then causes an EPIPE error. Ignore this because the
Delegate stderr to process.stderr