diff --git a/lib/dm-core/associations/many_to_many.rb b/lib/dm-core/associations/many_to_many.rb
index <HASH>..<HASH> 100644
--- a/lib/dm-core/associations/many_to_many.rb
+++ b/lib/dm-core/associations/many_to_many.rb
@@ -221,7 +221,7 @@ module DataMapper
         # TODO: document
         # @api public
         def reload(query = nil)
-          # TODO: remove references to the intermediaries
+          # TODO: remove *references* to the intermediaries
           # TODO: reload the collection
           raise NotImplementedError
         end
@@ -229,7 +229,7 @@ module DataMapper
         # TODO: document
         # @api public
         def replace(other)
-          # TODO: wipe out the intermediaries
+          # TODO: remove the left-most intermediary
           # TODO: replace the collection with other
           raise NotImplementedError
         end
diff --git a/lib/dm-core/query/path.rb b/lib/dm-core/query/path.rb
index <HASH>..<HASH> 100644
--- a/lib/dm-core/query/path.rb
+++ b/lib/dm-core/query/path.rb
@@ -116,7 +116,7 @@ module DataMapper
       # @api private
       def method_missing(method, *args)
         if relationship = @model.relationships(@repository_name)[method]
-          repository = DataMapper.repository(@repository_name)
+          repository = DataMapper.repository(relationship.target_repository_name)
           return Query::Path.new(repository, @relationships.dup << relationship, relationship.target_model)
         end
Updated Query::Path to use the target repository rather than the source

* Minor TODO note tweak