         cb?()
 
     _save: (cb) =>
+        if not @_fully_loaded
+            cb?()
+            return
         async.series([@_syncstring.save, @_syncstring.save_to_disk], cb)
 
     save: (cb) =>


        @_syncstring.once 'init', (err) =>
            if err
                window.err = err
                if err.code == 'EACCES'
                    err = "You do not have permission to read '#{@filename}'."
                @editor.show_startup_message(err, 'danger')

        cb?()

    _save: (cb) =>
        if not @codemirror? or not @_fully_loaded
            cb() # nothing to do -- not initialized/loaded yet...
            return
        @_syncstring.set(@codemirror.getValue())
        async.series [@_syncstring.save, @_syncstring.save_to_disk], (err) =>
