diff --git a/include/TrafoMatrix.hpp b/include/TrafoMatrix.hpp
index 6c291343a9ce48482f93f4c066290bb08ee4f461..ba265fcc978c3b1ddcfb59d6f2f43b2c186d3e55 100644
--- a/include/TrafoMatrix.hpp
+++ b/include/TrafoMatrix.hpp
@@ -55,11 +55,11 @@ namespace tf {
         
     ////////////////////////////////////////////////////////////////////////////////   
     //// Jacobi Matrix for TrafoMatrix 
-        virtual Matrix<6,6,double> getJacobiMatrix();
+        virtual Matrix<6,6,double> getJacobiMatrix(bool isRelationFixed = true );
 
     /////////////////////////////////////////////////////////////////////////////////
     //// Jacobi Matrix for TrafoMatrix as static method for general use:   
-        static Matrix<6,6,double> getJacobiMatrix(Matrix<4,4,double> _tf); 
+        static Matrix<6,6,double> getJacobiMatrix(Matrix<4,4,double> _tf, bool isRelationFixed= true ); 
 
     /////////////////////////////////////////////////////////////////////////////////
     //// inverse matrix 
diff --git a/src/TrafoMatrix.cpp b/src/TrafoMatrix.cpp
index 4fc38ffa8cf2412b1fea0fcdc4cdfb4a63fbedff..c51cc126af21e26370d6375a4e1922d04059a0e7 100644
--- a/src/TrafoMatrix.cpp
+++ b/src/TrafoMatrix.cpp
@@ -100,7 +100,7 @@ namespace tf {
 ////////////////////////////////////////////////////////////////////////////////   
 //// Jacobi Matrix for TrafoMatrix 
 
-    eeros::math::Matrix<6,6,double> TrafoMatrix::getJacobiMatrix(){
+    eeros::math::Matrix<6,6,double> TrafoMatrix::getJacobiMatrix(bool isRelationFixed ){
         eeros::math::Matrix<6,6,double> jacobian; 
         jacobian.zero(); 
         
@@ -114,7 +114,9 @@ namespace tf {
             for(int j=0; j<3; j++){                         // row 
                 jacobian(j,i)= get(j,i);                        // links oben                                                                            
                 jacobian(j+3,i+3)= get(j,i);                    // rechts unten 
-                jacobian(j, i+3) = crossP(j);                   // rechts oben 
+                if (isRelationFixed){ 
+                    jacobian(j, i+3) = crossP(j);                   // rechts oben 
+                } 
             }
         }
         return jacobian; 
@@ -124,7 +126,7 @@ namespace tf {
 /////////////////////////////////////////////////////////////////////////////////
 //// Jacobi Matrix for TrafoMatrix as static method for general use:   
 
-    eeros::math::Matrix<6,6,double> TrafoMatrix::getJacobiMatrix(eeros::math::Matrix<4,4,double> _tf){
+    eeros::math::Matrix<6,6,double> TrafoMatrix::getJacobiMatrix(eeros::math::Matrix<4,4,double> _tf, bool isRelationFixed ){
         eeros::math::Matrix<6,6,double> jacobian; 
         jacobian.zero(); 
         
@@ -138,7 +140,9 @@ namespace tf {
             for(int j=0; j<3; j++){                         // row 
                 jacobian(j,i)= _tf(j,i);                        // links oben                                                                            
                 jacobian(j+3,i+3)= _tf(j,i);                    // rechts unten 
-                jacobian(j, i+3) = crossP(j);                   // rechts oben 
+                if (isRelationFixed){ 
+                    jacobian(j, i+3) = crossP(j);                   // rechts oben 
+                }
             }
         }
         return jacobian;