diff --git a/lib/dynamoid/associations/many_association.rb b/lib/dynamoid/associations/many_association.rb
index <HASH>..<HASH> 100644
--- a/lib/dynamoid/associations/many_association.rb
+++ b/lib/dynamoid/associations/many_association.rb
@@ -25,7 +25,9 @@ module Dynamoid
       # @private
       # @since 0.2.0
       def find_target
-        Array(target_class.find(source_ids.to_a))
+        return [] if source_ids.empty?
+
+        Array(target_class.find(source_ids.to_a, raise_error: false))
       end
 
       # @private
diff --git a/lib/dynamoid/associations/single_association.rb b/lib/dynamoid/associations/single_association.rb
index <HASH>..<HASH> 100644
--- a/lib/dynamoid/associations/single_association.rb
+++ b/lib/dynamoid/associations/single_association.rb
@@ -109,7 +109,7 @@ module Dynamoid
       def find_target
         return if source_ids.empty?
 
-        target_class.find(source_ids.first)
+        target_class.find(source_ids.first, raise_error: false)
       end
 
       def target=(object)
Associations. Don't raise error when load associated models with broken foreign key