diff --git a/source/RobotAPI/units/TCPControlUnit.cpp b/source/RobotAPI/units/TCPControlUnit.cpp
index cd6d14879dd2d797f3afd769dd9bc990f62f6d15..be1ded686634d58aa7a42254e444642de8841926 100644
--- a/source/RobotAPI/units/TCPControlUnit.cpp
+++ b/source/RobotAPI/units/TCPControlUnit.cpp
@@ -614,7 +614,7 @@ namespace armarx
         size_t index=0;
         for (size_t i=0; i<tcp_set.size();i++)
         {
-            RobotNodePtr tcp = tcp_set[i];
+            SceneObjectPtr tcp = tcp_set[i];
             if (this->targets.find(tcp)!=this->targets.end())
             {
                 IKSolver::CartesianSelection mode = this->modes[tcp];
@@ -793,7 +793,7 @@ namespace armarx
         size_t index=0;
         for (size_t i=0; i<tcp_set.size();i++)
         {
-            RobotNodePtr tcp = tcp_set[i];
+            SceneObjectPtr tcp = tcp_set[i];
             if (this->targets.find(tcp)!=this->targets.end())
             {
                 Eigen::VectorXf delta = getDeltaToGoal(tcp);
@@ -851,7 +851,7 @@ namespace armarx
         size_t index=0;
         for (size_t i=0; i<tcp_set.size();i++)
         {
-            RobotNodePtr tcp = tcp_set[i];
+            SceneObjectPtr tcp = tcp_set[i];
             if (this->targets.find(tcp)!=this->targets.end())
             {
                 Eigen::VectorXf delta = getDeltaToGoal(tcp);
@@ -903,7 +903,7 @@ namespace armarx
                 MatrixXf pseudo = computePseudoInverseJacobianMatrix(partJacobian);
 
                 Eigen::VectorXf tcpWeightVec;
-                std::map<VirtualRobot:: RobotNodePtr, Eigen::VectorXf>::iterator it = tcpWeights.find(tcp);
+                std::map<VirtualRobot:: SceneObjectPtr, Eigen::VectorXf>::iterator it = tcpWeights.find(tcp);
                 if(it != tcpWeights.end())
                 {
                     tcpWeightVec = it->second;
@@ -988,7 +988,7 @@ namespace armarx
     void EDifferentialIK::applyTCPWeights(RobotNodePtr tcp, MatrixXf& partJacobian)
     {
 
-        std::map<VirtualRobot:: RobotNodePtr, Eigen::VectorXf>::iterator it = tcpWeights.find(tcp);
+        std::map<VirtualRobot:: SceneObjectPtr, Eigen::VectorXf>::iterator it = tcpWeights.find(tcp);
         if(it != tcpWeights.end())
         {
             Eigen::VectorXf& tcpWeightVec = it->second;
@@ -1012,7 +1012,7 @@ namespace armarx
         if(tcpWeightVec.rows() == 0)
             for (size_t i=0; i<tcp_set.size();i++)
             {
-                std::map<VirtualRobot:: RobotNodePtr, Eigen::VectorXf>::iterator it = tcpWeights.find(tcp_set.at(i));
+                std::map<VirtualRobot:: SceneObjectPtr, Eigen::VectorXf>::iterator it = tcpWeights.find(tcp_set.at(i));
                 if(it != tcpWeights.end())
                 {
                     Eigen::VectorXf& tmptcpWeightVec = it->second;
@@ -1064,13 +1064,13 @@ namespace armarx
         float result = 0.0f;
         float positionOrientationRatio = 3.f/180.f*M_PI;
         for (size_t i=0; i<tcp_set.size();i++){
-            RobotNodePtr tcp = tcp_set[i];
+            SceneObjectPtr tcp = tcp_set[i];
             result += getWeightedErrorPosition(tcp) + getErrorRotation(tcp)*positionOrientationRatio;
         }
         return result;
     }
 
-    float EDifferentialIK::getWeightedErrorPosition(RobotNodePtr tcp)
+    float EDifferentialIK::getWeightedErrorPosition(SceneObjectPtr tcp)
     {
         if (modes[tcp] == IKSolver::Orientation)
             return 0.0f; // ignoring position
diff --git a/source/RobotAPI/units/TCPControlUnit.h b/source/RobotAPI/units/TCPControlUnit.h
index 762165a695af1ef5ee30e588349ec7f1250f3399..d586d1354005362930f329251de1e5d65bb5eb31 100644
--- a/source/RobotAPI/units/TCPControlUnit.h
+++ b/source/RobotAPI/units/TCPControlUnit.h
@@ -185,14 +185,14 @@ namespace armarx {
         void applyTCPWeights(VirtualRobot::RobotNodePtr tcp, Eigen::MatrixXf &partJacobian);
         void applyTCPWeights(Eigen::MatrixXf &invJacobian);
         float getWeightedError();
-        float getWeightedErrorPosition(VirtualRobot::RobotNodePtr tcp);
+        float getWeightedErrorPosition(VirtualRobot::SceneObjectPtr tcp);
         Eigen::VectorXf computeStepIndependently(float stepSize);
         bool solveIK(float stepSize = 1, float minChange = 0.01f, int maxSteps = 50, bool useAlternativeOnFail = false);
     protected:
         bool adjustDOFWeightsToJointLimits(const Eigen::VectorXf &plannedJointDeltas);
 
         Eigen::VectorXf dofWeights;
-        std::map<VirtualRobot:: RobotNodePtr, Eigen::VectorXf> tcpWeights;
+        std::map<VirtualRobot:: SceneObjectPtr, Eigen::VectorXf> tcpWeights;
         Eigen::VectorXf tcpWeightVec;
     };
     typedef boost::shared_ptr<EDifferentialIK> EDifferentialIKPtr;