diff --git a/patches/bunyan+1.8.15.patch b/patches/bunyan+1.8.15.patch
index c3c90f73c..eed3bf8d1 100644
--- a/patches/bunyan+1.8.15.patch
+++ b/patches/bunyan+1.8.15.patch
@@ -1,10 +1,26 @@
 diff --git a/node_modules/bunyan/lib/bunyan.js b/node_modules/bunyan/lib/bunyan.js
-index f988560..11af013 100644
+index f988560..a4cf69a 100644
 --- a/node_modules/bunyan/lib/bunyan.js
 +++ b/node_modules/bunyan/lib/bunyan.js
-@@ -76,7 +76,8 @@ if (runtimeEnv === 'browser') {
+@@ -63,7 +63,7 @@ if (!runtimeEnv) {
+ }
+
+
+-var os, fs, dtrace;
++var os, fs, pathModule, dtrace;
+ if (runtimeEnv === 'browser') {
+     os = {
+         hostname: function () {
+@@ -71,12 +71,15 @@ if (runtimeEnv === 'browser') {
+         }
+     };
+     fs = {};
++    pathModule = {};
+     dtrace = null;
+ } else {
      os = require('os');
      fs = require('fs');
++    pathModule = require('path');
      try {
 -        dtrace = require('dtrace-provider' + '');
 +        throw new Error('dtrace-provider is not available')
@@ -12,3 +28,16 @@ index f988560..11af013 100644
      } catch (e) {
          dtrace = null;
      }
+@@ -1512,6 +1515,12 @@ RotatingFileStream.prototype.rotate = function rotate() {
+     }
+
+     function finish() {
++        if (!fs.existsSync(self.path)) {
++            var dirPath = pathModule.dirname(self.path);
++            if (!fs.existsSync(dirPath)) {
++                fs.mkdirSync(dirPath, { recursive: true });
++            }
++        }
+         self._debug('  open %s', self.path);
+         self.stream = fs.createWriteStream(self.path,
+             {flags: 'a', encoding: 'utf8'});