diff --git a/lib/waterline/utils/query/help-find.js b/lib/waterline/utils/query/help-find.js
index <HASH>..<HASH> 100644
--- a/lib/waterline/utils/query/help-find.js
+++ b/lib/waterline/utils/query/help-find.js
@@ -66,6 +66,20 @@ module.exports = function helpFind(WLModel, s2q, omen, done) {
   // Set up a few, common local vars for convenience / familiarity.
   var orm = WLModel.waterline;
 
+  // Keep track of any populates which were explicitly set to `false`.
+  // (This is a special indicator that FS2Q adds when a particular subcriteria
+  // turns out to be a no-op.  This is important so that we make sure to still
+  // explicitly attach the appropriate base value for the association-- for
+  // example an empty array `[]`.  This avoids breaking any userland code which
+  // might be relying on the datatype, such as a `.length`, a `x[n]`, or a loop.)
+  var populatesExplicitlySetToFalse = [];
+  for (var assocAttrName in s2q.populates) {
+    var subcriteria = s2q.populates[assocAttrName];
+    if (subcriteria === false) {
+      populatesExplicitlySetToFalse.push(assocAttrName);
+    }
+  }//∞
+
   // Build an initial stage three query (s3q) from the incoming stage 2 query (s2q).
   var parentQuery = forgeStageThreeQuery({
     stageTwoQuery: s2q,
Track associations explicitly set to false in help-find util