Index: branches/current_cd/src/lib/collision_detection/bv_tree_node.h
===================================================================
--- branches/current_cd/src/lib/collision_detection/bv_tree_node.h	(revision 6921)
+++ branches/current_cd/src/lib/collision_detection/bv_tree_node.h	(revision 6922)
@@ -35,5 +35,5 @@
 
   virtual void spawnBVTree(const modelInfo& modInfo, const int* triangleIndexes, int length) = 0;
-  virtual void collideWith(const BVTreeNode& treeNode, WorldEntity* nodeA, WorldEntity* nodeB) = 0;
+  virtual void collideWith(BVTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB) = 0;
   virtual void drawBV(int depth, int drawMode, const Vector& color = Vector(1,0,0), bool top = true) const = 0;
 
Index: branches/current_cd/src/lib/collision_detection/obb_tree.cc
===================================================================
--- branches/current_cd/src/lib/collision_detection/obb_tree.cc	(revision 6921)
+++ branches/current_cd/src/lib/collision_detection/obb_tree.cc	(revision 6922)
@@ -95,5 +95,5 @@
 {
   if( likely(entity2->getOBBTree() != NULL) )
-    this->rootNode->collideWith(*(((OBBTree*)entity2->getOBBTree())->getRootNode()), entity1, entity2);
+    this->rootNode->collideWith(((OBBTree*)entity2->getOBBTree())->getRootNode(), entity1, entity2);
 }
 
Index: branches/current_cd/src/lib/collision_detection/obb_tree.h
===================================================================
--- branches/current_cd/src/lib/collision_detection/obb_tree.h	(revision 6921)
+++ branches/current_cd/src/lib/collision_detection/obb_tree.h	(revision 6922)
@@ -34,5 +34,5 @@
     inline const int getID() { return ++this->id;}
     /** returns the root node of the bounding volume tree @return reference to the root node */
-    inline const OBBTreeNode* getRootNode() const { return this->rootNode; }
+    inline OBBTreeNode* getRootNode() const { return this->rootNode; }
 
     void debug();
Index: branches/current_cd/src/lib/collision_detection/obb_tree_node.cc
===================================================================
--- branches/current_cd/src/lib/collision_detection/obb_tree_node.cc	(revision 6921)
+++ branches/current_cd/src/lib/collision_detection/obb_tree_node.cc	(revision 6922)
@@ -517,10 +517,10 @@
 void OBBTreeNode::collideWith(BVTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB)
 {
-  if( unlikely(treeNode == 1))
+  if( unlikely(treeNode == NULL))
     return;
 
   PRINTF(3)("collideWith\n");
   /* if the obb overlap, make subtests: check which node is realy overlaping  */
-  PRINTF(3)("Checking OBB %i vs %i: ", this->getIndex(), treeNode.getIndex());
+  PRINTF(3)("Checking OBB %i vs %i: ", this->getIndex(), treeNode->getIndex());
   //   if( unlikely(treeNode == NULL)) return;
 
@@ -533,9 +533,9 @@
     if( likely( this->nodeLeft != NULL))
     {
-      PRINTF(3)("Checking OBB %i vs %i: ", this->nodeLeft->getIndex(), treeNode.getIndex());
+      PRINTF(3)("Checking OBB %i vs %i: ", this->nodeLeft->getIndex(), treeNode->getIndex());
       if( this->overlapTest(*this->nodeLeft->bvElement, *(((const OBBTreeNode*)&treeNode)->bvElement), nodeA, nodeB))
       {
-        this->nodeLeft->collideWith(*(((const OBBTreeNode*)&treeNode)->nodeLeft), nodeA, nodeB);
-        this->nodeLeft->collideWith(*(((const OBBTreeNode*)&treeNode)->nodeRight), nodeA, nodeB);
+        this->nodeLeft->collideWith((((const OBBTreeNode*)treeNode)->nodeLeft), nodeA, nodeB);
+        this->nodeLeft->collideWith((((const OBBTreeNode*)treeNode)->nodeRight), nodeA, nodeB);
       }
     }
@@ -543,9 +543,9 @@
     if( likely( this->nodeRight != NULL))
     {
-      PRINTF(3)("Checking OBB %i vs %i: ", this->nodeRight->getIndex(), treeNode.getIndex());
+      PRINTF(3)("Checking OBB %i vs %i: ", this->nodeRight->getIndex(), treeNode->getIndex());
       if(this->overlapTest(*this->nodeRight->bvElement, *(((const OBBTreeNode*)&treeNode)->bvElement), nodeA, nodeB))
       {
-        this->nodeRight->collideWith(*(((const OBBTreeNode*)&treeNode)->nodeLeft), nodeA, nodeB);
-        this->nodeRight->collideWith(*(((const OBBTreeNode*)&treeNode)->nodeRight), nodeA, nodeB);
+        this->nodeRight->collideWith((((const OBBTreeNode*)treeNode)->nodeLeft), nodeA, nodeB);
+        this->nodeRight->collideWith((((const OBBTreeNode*)treeNode)->nodeRight), nodeA, nodeB);
       }
     }
Index: branches/current_cd/src/lib/collision_detection/obb_tree_node.h
===================================================================
--- branches/current_cd/src/lib/collision_detection/obb_tree_node.h	(revision 6921)
+++ branches/current_cd/src/lib/collision_detection/obb_tree_node.h	(revision 6922)
@@ -32,5 +32,5 @@
     virtual void spawnBVTree(const modelInfo& modelInf, const int* triangleIndexes, int length);
 
-    virtual void collideWith(const BVTreeNode& treeNode, WorldEntity* nodeA, WorldEntity* nodeB);
+    virtual void collideWith(BVTreeNode* treeNode, WorldEntity* nodeA, WorldEntity* nodeB);
     virtual void drawBV(int depth, int drawMode, const Vector& color = Vector(1,0,0), bool top = true) const;
     void debug() const;
