diff --git a/activerecord/lib/active_record/attribute_methods/before_type_cast.rb b/activerecord/lib/active_record/attribute_methods/before_type_cast.rb
index <HASH>..<HASH> 100644
--- a/activerecord/lib/active_record/attribute_methods/before_type_cast.rb
+++ b/activerecord/lib/active_record/attribute_methods/before_type_cast.rb
@@ -13,7 +13,7 @@ module ActiveRecord
 
       # Returns a hash of attributes before typecasting and deserialization.
       def attributes_before_type_cast
-        Hash[attribute_names.map { |name| [name, read_attribute_before_type_cast(name)] }]
+        @attributes
       end
 
       private
attributes_before_type_cast are just the value of @attributes