diff --git a/sitegin/imageResizer.js b/sitegin/imageResizer.js
index be1e4d8b32d0008319c59d8f1762385f555fa702..d82ce268efad88ad1589368bb7b0ea5f968a3d7f 100644
--- a/sitegin/imageResizer.js
+++ b/sitegin/imageResizer.js
@@ -8,6 +8,8 @@ catch(e) {
   console.log('You can try to run npm install.');
   console.log('If it does not help try to make npm install lwip work.');
 }
+var mkdirp = require('mkdirp');
+var path = require('path');
 
 module.exports = function(file, targetDir, width, height) {
   if(lwip && (width || height)) {
@@ -23,11 +25,13 @@ module.exports = function(file, targetDir, width, height) {
     targetFile = path.resolve(targetDir,targetFile);
     lwip.open(file, function(err, image) {
       function doResize() {
-        image.batch()
-        .resize(width, height)
-        .writeFile(targetFile, function(err) {
-          if(err) console.log(err);
-        });
+        mkdirp(path.dirname(targetFile), function() {
+          image.batch()
+          .resize(width, height)
+          .writeFile(targetFile, function(err) {
+            if(err) console.log(err);
+          });
+        }
       }
 
       if(err) return console.log(err);