object.dup doesn't seem to work

I have an activerecord class object that I do a .dup on.
When I change the "duped" object it changes he orginal.

Is this normal? I thought it should be a deep copy.

One funny thing I noticed is that virtual attributes that are not part
of the database do not change but the database mapped attributes do.

Is there a better way to make a copy of the record?