diff --git a/src/tasks/cog.cpp b/src/tasks/cog.cpp
index 496394e05eafbebd5a4f8364f3a9118ae346c04b..03f8bd3995f0a24b7b358afa5a4db77e0432b216 100644
--- a/src/tasks/cog.cpp
+++ b/src/tasks/cog.cpp
@@ -143,15 +143,7 @@ void CTaskCOG::CoGCommon(UAM::CArm& arm, const UAM::CHT& HT, Eigen::MatrixXd& co
 
     if(partial_mass!=0){
       CoG_partial = partial_arm_cg/partial_mass;
-
-      Eigen::Matrix3d screw_rot = Eigen::Matrix3d::Zero();
-      screw_rot(0,1) = -IIIrdcolRot_b_x.at(jj)(2);
-      screw_rot(0,2) = IIIrdcolRot_b_x.at(jj)(1);
-      screw_rot(1,0) = IIIrdcolRot_b_x.at(jj)(2);
-      screw_rot(0,2) = -IIIrdcolRot_b_x.at(jj)(0);
-      screw_rot(2,0) = -IIIrdcolRot_b_x.at(jj)(1);
-      screw_rot(2,1) = IIIrdcolRot_b_x.at(jj)(0);
-
+      Eigen::Matrix3d screw_rot = CCommon_Fc::Skew(IIIrdcolRot_b_x.at(jj));
       Jj_cog.col(jj) = (partial_mass/arm.mass)*screw_rot*CoG_partial.block(0,0,3,1);
     }
     else Jj_cog.col(jj) = Eigen::MatrixXd::Zero(3,1);
diff --git a/src/tasks/cog.h b/src/tasks/cog.h
index de41becce7f22971564087695fa8b3f4acb71ea7..22dcf15a530af638dd53b3d1b29a79fb7ccdbc37 100644
--- a/src/tasks/cog.h
+++ b/src/tasks/cog.h
@@ -6,6 +6,7 @@
 
 // Own
 #include <common_obj.h>
+#include <common_fc.h>
 
 namespace UAM {