diff --git a/activerecord/lib/active_record/associations/belongs_to_association.rb b/activerecord/lib/active_record/associations/belongs_to_association.rb
index <HASH>..<HASH> 100644
--- a/activerecord/lib/active_record/associations/belongs_to_association.rb
+++ b/activerecord/lib/active_record/associations/belongs_to_association.rb
@@ -10,11 +10,9 @@ module ActiveRecord
         replace_keys(record)
         set_inverse_instance(record)
 
-        @target  = record
         @updated = true if record
 
-        loaded
-        record
+        self.target = record
       end
 
       def updated?
diff --git a/activerecord/lib/active_record/associations/has_one_association.rb b/activerecord/lib/active_record/associations/has_one_association.rb
index <HASH>..<HASH> 100644
--- a/activerecord/lib/active_record/associations/has_one_association.rb
+++ b/activerecord/lib/active_record/associations/has_one_association.rb
@@ -24,8 +24,7 @@ module ActiveRecord
           end
         end
 
-        @target = record
-        loaded
+        self.target = record
       end
 
       private
Use self.target= rather than @target= as the former automatically sets loaded