diff --git a/lib/active_force/association/belongs_to_association.rb b/lib/active_force/association/belongs_to_association.rb
index <HASH>..<HASH> 100644
--- a/lib/active_force/association/belongs_to_association.rb
+++ b/lib/active_force/association/belongs_to_association.rb
@@ -13,7 +13,9 @@ module ActiveForce
         association = self
         _method = @relation_name
         @parent.send :define_method, _method do
-          association_cache[_method] ||= association.relation_model.find(send association.foreign_key)
+          association_cache.fetch(_method) do
+            association_cache[_method] = association.relation_model.find(send association.foreign_key)
+          end
         end
 
         @parent.send :define_method, "#{_method}=" do |other|
diff --git a/lib/active_force/association/has_many_association.rb b/lib/active_force/association/has_many_association.rb
index <HASH>..<HASH> 100644
--- a/lib/active_force/association/has_many_association.rb
+++ b/lib/active_force/association/has_many_association.rb
@@ -11,10 +11,10 @@ module ActiveForce
       def define_relation_method
         association = self
         @parent.send :define_method, @relation_name do
-          association_cache[__method__] ||= begin
+          association_cache.fetch __method__ do
             query = association.relation_model.query
             query.options association.options
-            query.where association.foreign_key => self.id
+            association_cache[__method__] = query.where association.foreign_key => self.id
           end
         end
       end
Change again to use Hash.fetch because the query can return nil.