diff --git a/pinocchio/Makefile b/pinocchio/Makefile
index 7acad18ff1e4f4a2d0c3e892bdd763c18eeb4264..c4a97d6eaa830631d4cb7ae73909a1b288696a7a 100644
--- a/pinocchio/Makefile
+++ b/pinocchio/Makefile
@@ -12,6 +12,7 @@ MAINTAINER=		gepetto@laas.fr
 CATEGORIES=		math
 COMMENT=		Efficient rigid body dynamics
 LICENSE=		gnu-lgpl-v3
+PKGREVISION=  1
 
 # parallel builds would consume all memory because of the g++ process size
 MAKE_JOBS_SAFE=		no
diff --git a/pinocchio/distinfo b/pinocchio/distinfo
index e95101475c59e2a0317f9980afefc034da2c180b..55a53a0008c8624e46b8089ff9e5af719dd0f079 100644
--- a/pinocchio/distinfo
+++ b/pinocchio/distinfo
@@ -1,3 +1,4 @@
 SHA1 (pinocchio-1.2.5.tar.gz) = 4a3e45b3154bf703c8822d2c3c49e32b92edf90e
 RMD160 (pinocchio-1.2.5.tar.gz) = b03d35e0f0abd1564ba8f44bb08b029dccc4dd1c
 Size (pinocchio-1.2.5.tar.gz) = 9003067 bytes
+SHA1 (patch-aa) = d122db98550c7615572a07454e5801508f2c3a77
diff --git a/pinocchio/patches/patch-aa b/pinocchio/patches/patch-aa
new file mode 100644
index 0000000000000000000000000000000000000000..7ccbba25ea2749f7f7c01a35922daf2a3a2905dd
--- /dev/null
+++ b/pinocchio/patches/patch-aa
@@ -0,0 +1,22 @@
+diff --git src/spatial/inertia.hpp src/spatial/inertia.hpp
+index 809e1c2..7b33c7b 100644
+--- src/spatial/inertia.hpp
++++ src/spatial/inertia.hpp
+@@ -238,7 +238,7 @@ namespace se3
+       M.template block<3,3>(LINEAR, LINEAR ).diagonal ().fill (m);
+       M.template block<3,3>(ANGULAR,LINEAR ) = alphaSkew(m,c);
+       M.template block<3,3>(LINEAR, ANGULAR) = -M.template block<3,3> (ANGULAR, LINEAR);
+-      M.template block<3,3>(ANGULAR,ANGULAR) = (typename Symmetric3::Matrix3)(I - AlphaSkewSquare(m,c));
++      M.template block<3,3>(ANGULAR,ANGULAR) = (I - AlphaSkewSquare(m,c)).matrix();
+ 
+       return M;
+     }
+@@ -320,7 +320,7 @@ namespace se3
+       res.template block<3,3>(ANGULAR,ANGULAR) = res.template block<3,3>(LINEAR,LINEAR) - res.template block<3,3>(LINEAR,LINEAR).transpose();
+       res.template block<3,3>(ANGULAR,ANGULAR) = -skewSquare(mv.linear(),c) - skewSquare(c,mv.linear());
+       
+-      res.template block<3,3>(LINEAR,LINEAR) = (typename Symmetric3::Matrix3)(I - AlphaSkewSquare(m,c));
++      res.template block<3,3>(LINEAR,LINEAR) = (typename Symmetric3::Matrix3)(I - AlphaSkewSquare(m,c)).matrix();
+       
+       res.template block<3,3>(ANGULAR,ANGULAR) -= res.template block<3,3>(LINEAR,LINEAR) * skew(v.angular());
+       res.template block<3,3>(ANGULAR,ANGULAR) += cross(v.angular(),res.template block<3,3>(LINEAR,LINEAR));