diff --git a/rigify/utils/node_merger.py b/rigify/utils/node_merger.py
index 617b99df8d287c24d44e8a1c8982fa826873963e..2da48adaf482c056b4a39d81439a340726b90aba 100644
--- a/rigify/utils/node_merger.py
+++ b/rigify/utils/node_merger.py
@@ -73,7 +73,9 @@ class NodeMerger(GeneratorPlugin):
             while pending:
                 added = set()
                 for j in pending:
-                    for co, idx, dist in tree.find_range(nodes[j].point, self.epsilon):
+                    point = nodes[j].point
+                    eps = max(1, point.length) * self.epsilon
+                    for co, idx, dist in tree.find_range(point, eps):
                         added.add(idx)
                 pending = added.difference(merge_set)
                 merge_set.update(added)