diff --git a/source/RobotAPI/libraries/core/CartesianVelocityController.cpp b/source/RobotAPI/libraries/core/CartesianVelocityController.cpp
index d873e26c9078764965ba7f49f3f95de7ee63bcb9..cdb5fc3666a89f134f59772f13a0b65c2bb99c66 100644
--- a/source/RobotAPI/libraries/core/CartesianVelocityController.cpp
+++ b/source/RobotAPI/libraries/core/CartesianVelocityController.cpp
@@ -30,11 +30,11 @@
 
 using namespace armarx;
 
-CartesianVelocityController::CartesianVelocityController(const VirtualRobot::RobotNodeSetPtr& rns, const VirtualRobot::RobotNodePtr& tcp)
+CartesianVelocityController::CartesianVelocityController(const VirtualRobot::RobotNodeSetPtr& rns, const VirtualRobot::RobotNodePtr& tcp, const VirtualRobot::JacobiProvider::InverseJacobiMethod invJacMethod)
     : rns(rns)
 {
     //ARMARX_IMPORTANT << VAROUT(rns->getRobot()->getRootNode());
-    ik.reset(new VirtualRobot::DifferentialIK(rns, rns->getRobot()->getRootNode(), VirtualRobot::JacobiProvider::eSVDDamped));
+    ik.reset(new VirtualRobot::DifferentialIK(rns, rns->getRobot()->getRootNode(), invJacMethod));
     this->tcp = tcp ? tcp : rns->getTCP();
 
     this->cartesianMMRegularization = 100;
diff --git a/source/RobotAPI/libraries/core/CartesianVelocityController.h b/source/RobotAPI/libraries/core/CartesianVelocityController.h
index 66fbcf4bb8ddc7462e2cc087a811cbb5971ff076..9c8c32d8836b15ca259280b6ab3ee4e766375f9c 100644
--- a/source/RobotAPI/libraries/core/CartesianVelocityController.h
+++ b/source/RobotAPI/libraries/core/CartesianVelocityController.h
@@ -39,7 +39,8 @@ namespace armarx
     class CartesianVelocityController
     {
     public:
-        CartesianVelocityController(const VirtualRobot::RobotNodeSetPtr& rns, const VirtualRobot::RobotNodePtr& tcp = nullptr);
+        CartesianVelocityController(const VirtualRobot::RobotNodeSetPtr& rns, const VirtualRobot::RobotNodePtr& tcp = nullptr,
+                                    const VirtualRobot::JacobiProvider::InverseJacobiMethod invJacMethod = VirtualRobot::JacobiProvider::eSVDDamped);
 
         Eigen::VectorXf calculate(const Eigen::VectorXf& cartesianVel, float KpJointLimitAvoidanceScale, VirtualRobot::IKSolver::CartesianSelection mode);
         Eigen::VectorXf calculate(const Eigen::VectorXf& cartesianVel, const Eigen::VectorXf& nullspaceVel, VirtualRobot::IKSolver::CartesianSelection mode);
diff --git a/source/RobotAPI/statecharts/ForceTorqueUtility/CMakeLists.txt b/source/RobotAPI/statecharts/ForceTorqueUtility/CMakeLists.txt
index ef239c2905ea1998e8a54f3a5f4ef7d8a88afff4..de39626430545225ec015175d53796e5ea837687 100644
--- a/source/RobotAPI/statecharts/ForceTorqueUtility/CMakeLists.txt
+++ b/source/RobotAPI/statecharts/ForceTorqueUtility/CMakeLists.txt
@@ -25,7 +25,7 @@ armarx_component_set_name("ForceTorqueUtility")
 #endif()
 
 set(COMPONENT_LIBS
-#   ArmarXCoreInterfaces RobotAPIInterfaces RobotAPICore ${Simox_LIBRARIES}
+    ArmarXCoreInterfaces RobotAPIInterfaces RobotAPICore ${Simox_LIBRARIES}
     ArmarXCore ArmarXCoreStatechart ArmarXCoreObservers)
 
 # Sources