diff --git a/sot-core3/Makefile b/sot-core3/Makefile
index 1af85b280b0024903cceaa1224c352f88a421284..a69be5158c4930b1875f731025c7c895a1311eac 100644
--- a/sot-core3/Makefile
+++ b/sot-core3/Makefile
@@ -5,7 +5,7 @@
 PKGNAME=		sot-core-${VERSION}
 DISTNAME=		sot-core-${VERSION}
 VERSION=		3.0.0
-PKGREVISION=		1
+PKGREVISION=		2
 
 MASTER_SITES=		${MASTER_SITE_OPENROBOTS:=sot-core/}
 MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}/proyan/sot-core
@@ -30,7 +30,6 @@ CMAKE_ARGS+=		-DCMAKE_INSTALL_LIBDIR=lib
 CONFIGURE_DIRS=		_build
 CMAKE_ARG_PATH=		..
 
-PATCH_STRIP?=		-p1
 include ../../devel/boost-headers/depend.mk
 include ../../devel/boost-libs/depend.mk
 include ../../math/eigen3/depend.mk
diff --git a/sot-core3/distinfo b/sot-core3/distinfo
index 5a926cf6325dc3f62d8686e6c08c4ed4562149c3..77392a7b8c7877f25e8a7359ee7afb073154bf15 100644
--- a/sot-core3/distinfo
+++ b/sot-core3/distinfo
@@ -1,4 +1,5 @@
 SHA1 (sot-core-3.0.0.tar.gz) = e4968c00d55526c69bbcef9a472bcca9b35ae518
 RMD160 (sot-core-3.0.0.tar.gz) = 9b7dc959a0550ab765b9f1ae5e8088c85653c0e3
 Size (sot-core-3.0.0.tar.gz) = 365510 bytes
-SHA1 (patch-aa) = c897834d6bc5aa43d27ca0b2dc720136637b48b3
+SHA1 (patch-aa) = 857c36de0e50f578ecd216577c2fc7afea68c7f2
+SHA1 (patch-ab) = 85be5cdd6cbda1fd903085b59640ce11f854daea
diff --git a/sot-core3/patches/patch-aa b/sot-core3/patches/patch-aa
index 857d85c184c63353281585136101e26ae9068ed3..009e8dd9663116c0269663f5f70271d556137041 100644
--- a/sot-core3/patches/patch-aa
+++ b/sot-core3/patches/patch-aa
@@ -1,7 +1,7 @@
-diff --git a/include/sot/core/op-point-modifier.hh b/include/sot/core/op-point-modifier.hh
+diff --git include/sot/core/op-point-modifier.hh include/sot/core/op-point-modifier.hh
 index 5d83a0c..b72b1e0 100644
---- a/include/sot/core/op-point-modifier.hh
-+++ b/include/sot/core/op-point-modifier.hh
+--- include/sot/core/op-point-modifier.hh
++++ include/sot/core/op-point-modifier.hh
 @@ -78,9 +78,9 @@ public:
  
    dg::Matrix& jacobianSOUT_function( dg::Matrix& res,const int& time );
@@ -14,10 +14,10 @@ index 5d83a0c..b72b1e0 100644
  
    virtual void commandLine( const std::string& cmdLine,
  			    std::istringstream& cmdArgs,
-diff --git a/src/math/op-point-modifier.cpp b/src/math/op-point-modifier.cpp
+diff --git src/math/op-point-modifier.cpp src/math/op-point-modifier.cpp
 index 88655a4..8c006d3 100644
---- a/src/math/op-point-modifier.cpp
-+++ b/src/math/op-point-modifier.cpp
+--- src/math/op-point-modifier.cpp
++++ src/math/op-point-modifier.cpp
 @@ -55,14 +55,14 @@ OpPointModifier( const std::string& name )
    sotDEBUGIN(15);
  
diff --git a/sot-core3/patches/patch-ab b/sot-core3/patches/patch-ab
new file mode 100644
index 0000000000000000000000000000000000000000..548d02ba22c44fec9aad20b304213717205e641b
--- /dev/null
+++ b/sot-core3/patches/patch-ab
@@ -0,0 +1,24 @@
+[PATCH][eigen] fix task error signal
+
+diff --git src/task/task.cpp src/task/task.cpp
+index fb11947..2186bb3 100644
+--- src/task/task.cpp
++++ src/task/task.cpp
+@@ -214,7 +214,7 @@ computeError( dynamicgraph::Vector& error,int time )
+ 
+ 	const int dim = partialError.size();
+ 	while( cursorError+dim>dimError )  // DEBUG It was >=
+-	  { dimError *= 2; error.resize(dimError,false); }
++	  { dimError *= 2; error.resize(dimError); }
+ 
+ 	for( int k=0;k<dim;++k ){ error(cursorError++) = partialError(k); }
+ 	sotDEBUG(35) << "feature: "<< partialError << std::endl;
+@@ -222,7 +222,7 @@ computeError( dynamicgraph::Vector& error,int time )
+       }
+ 
+     /* If too much memory has been allocated, resize. */
+-    error .resize(cursorError,false);
++    error .resize(cursorError);
+   } catch SOT_RETHROW;
+ 
+   sotDEBUG(35) << "error_final: "<< error << std::endl;