     return @_items.reduce(
       # Save all files in sketch
       (promise, item) =>
-        return item.editor.save() if item.editor?
+        if item.editor?
+          return promise unless newDirFs? or item.editor.modified
+          return promise.then(=> item.editor.save())
         return promise unless newDirFs?
         # Relocate file
         return promise.then(=>

    get: -> @_workspace
    set: (v) -> @_workspace = v
  )

  #--------------------------------------------------------------------------------
  # Events

    Build sketch
  @param {boolean} [force=false]
    Force build all files
  @param {function(string,number,number,Error)} [progress=null]
    Hook function for show progress
  @return {Promise}
    Promise object
