diff --git a/bindings/python/algorithm/expose-rnea-derivatives.cpp b/bindings/python/algorithm/expose-rnea-derivatives.cpp
index dd2ab7292ad34b848c1b23a20e5989f944f2d01b..98d2dab01a012b53fafd85e92e7f5409016710b8 100644
--- a/bindings/python/algorithm/expose-rnea-derivatives.cpp
+++ b/bindings/python/algorithm/expose-rnea-derivatives.cpp
@@ -28,6 +28,9 @@ namespace se3
                                        const Eigen::VectorXd & a)
     {
       computeRNEADerivatives(model,data,q,v,a);
+      // Symmetrize M
+      data.M.triangularView<Eigen::StrictlyLower>()
+      = data.M.transpose().triangularView<Eigen::StrictlyLower>();
     }
     
     void exposeRNEADerivatives()