Multi table inheritance problem with has_one relationship

Here is my issue

class TransactionProduct < ActiveRecord::Base
  has_one :product, :class_name => 'Product'
end

class Product < ActiveRecord::Base
  set_inheritance_column :class_name
end

class ProductVT < Product
def self.base_class
    ProductVt
  end
end

So when I do

Product.find(:first) I got an instance of ProductVT with only the
columns of Product, which is ok. Then when I do reload like this :

Product.find(:first).reload

I do have a complete instance of ProductVT.

But

When I do nagivate on Product from TransactionProduct and I do reload on
the instance of ProductVT it does not reload the ProductVT, it does it
on Product

TransactionProduct.find(:first).product.relaod (reload the product
instance instead of ProductVT)

Even if I see in the console that is a ProductVT it reloads Product. I
checked in development.log and in performs the query on Product.

Any idea.

Note : A temp fix is the to do a
Product.find(TransactionProduct.find(:first).product).reload, which is
ugly

Hi,