diff --git a/lib/collision/DynamicTree.js b/lib/collision/DynamicTree.js
index <HASH>..<HASH> 100644
--- a/lib/collision/DynamicTree.js
+++ b/lib/collision/DynamicTree.js
@@ -523,19 +523,22 @@ DynamicTree.prototype.getAreaRatio = function() {
 /**
  * Compute the height of a sub-tree.
  */
-DynamicTree.prototype.computeHeight = function(node) {
-  if (typeof node === 'undefined') {
+DynamicTree.prototype.computeHeight = function(id) {
+  var node;
+  if (typeof id !== 'undefined') {
+    node = this.m_nodes[id];
+  } else {
     node = this.m_root;
   }
 
-  _ASSERT && common.assert(node !== null);
+  // _ASSERT && common.assert(0 <= id && id < this.m_nodeCapacity);
 
   if (node.isLeaf()) {
     return 0;
   }
 
-  var height1 = this.computeHeight(node.child1);
-  var height2 = this.computeHeight(node.child2);
+  var height1 = this.computeHeight(node.child1.id);
+  var height2 = this.computeHeight(node.child2.id);
   return 1 + Math.max(height1, height2);
 }
use id in DynamicTree.computeHeight again