     ###################################
     # Backbone ORM Sync
     ###################################
-    sync[method].apply(sync, Array::slice.call(arguments, 1))
+    if sync[method] then sync[method].apply(sync, Array::slice.call(arguments, 1)) else return undefined
 
   require('backbone-orm/lib/model_extensions')(model_type) # mixin extensions
   return if cache or _.isUndefined(cache) then require('backbone-orm/lib/cache_sync')(model_type, sync_fn) else sync_fn
    # publish methods and sync on model
    @model_type.model_name = Utils.parseUrl(@url).model_name unless @model_type.model_name # model_name can be manually set
    throw new Error('Missing model_name for model') unless @model_type.model_name
    @model_type._sync = @
    @model_type._schema = new Schema(@model_type)

    @request = require 'superagent'

    ###################################

        return callback(new Error "Ajax failed with status #{res.status} for #{'destroy'} with: #{util.inspect(res.body)}") unless res.ok
        callback(null, res.body)


module.exports = (model_type, cache) ->
  sync = new AjaxSync(model_type)
