diff --git a/lib/waterline/query/finders/operations.js b/lib/waterline/query/finders/operations.js
index <HASH>..<HASH> 100644
--- a/lib/waterline/query/finders/operations.js
+++ b/lib/waterline/query/finders/operations.js
@@ -663,7 +663,7 @@ Operations.prototype._runChildOperations = function _runChildOperations(intermed
     }
 
     delete userCriteria.sort;
-    criteria = _.merge(criteria, userCriteria);
+    criteria = _.extend(criteria, userCriteria);
   }
 
   criteria = normalize.criteria({ where: criteria });
use extend instead of a deep merge to override populate where criteria