diff --git a/uc_upsell_core.inc b/uc_upsell_core.inc
index dbd5075..9ddbae3 100644
--- a/uc_upsell_core.inc
+++ b/uc_upsell_core.inc
@@ -146,6 +146,7 @@ function uc_upsell_get_associate_nids($source, $max = 0, $filter = array(), $var
   $sought = array(); // Capture found nid
   $related = array(); // Final related array
   $related_by_term = array(); // Any nodes related by taxonomy we happen to find.
+  $related_tally = array();
 
   foreach ($source as $nid) {
     if ((is_object($nid) && $nid->nid) || (is_array($nid) && $nid['nid'])) $nid = (is_object($nid)) ? $nid->nid : $nid['nid'];
@@ -177,7 +178,9 @@ function uc_upsell_get_associate_nids($source, $max = 0, $filter = array(), $var
           break;
       }
     }
+    $related_tally += $related;
   }
+  $related = $related_tally;
 
   // First, if we are including related-by-taxonomy nodes, and an array exists, only include as many as needed.
   if (count($related_by_term) > 0 && count($related) < $max) {
