     query = _.extend(_query or {}, {$one:true})
     if model instanceof Backbone.Model
       if @type is 'belongsTo'
-        if model._orm_lookups and (related_id = model._orm_lookups[@foreign_key])
-          query.id = related_id
-        else if related_model = related_model = model.attributes[@key]
+        if related_model = related_model = model.attributes[@key]
           query.id = related_model.get('id')
       else
         query[@foreign_key] = model.attributes.id

    throw new Error "One::set: cannot set an array for attribute #{@key} on #{@model_type.model_name}" if _.isArray(value)
    value = null if _.isUndefined(value) # Backbone clear or reset

    if @type is 'belongsTo' and key is @foreign_key
      model._orm_lookups or= {}
      model._orm_lookups[@foreign_key] = value
      return @
    related_model = model.attributes[@key]
    if @has(model, @key, value)
      return @ unless related_model # null


    # not loaded but we have the id, create a model
    if @type is 'belongsTo'
      return true if not model.attributes[@key]

    # Will only load ids if key is @ids_accessor
    @cursor(model, key).toJSON (err, json) =>
