diff --git a/sot-core-v3/Makefile b/sot-core-v3/Makefile
index bc9f1a5823b8649aa0222f6c65c67817735f822b..3387956c8cc447ef48e38ef99962fcf58002ca6a 100644
--- a/sot-core-v3/Makefile
+++ b/sot-core-v3/Makefile
@@ -4,7 +4,7 @@
 
 PKGNAME=		sot-core-v3-${VERSION}
 DISTNAME=		sot-core-v3-${VERSION}
-VERSION=		3.1.1
+VERSION=		3.1.2
 
 MASTER_SITES=		${MASTER_SITE_OPENROBOTS:=sot-core-v3/}
 MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}/stack-of-tasks/sot-core
diff --git a/sot-core-v3/distinfo b/sot-core-v3/distinfo
index 992cc982748afd1613b565805ceb9337d3b6cbcf..143c8718b2d6bdffa463717eb5e9c620739f4420 100644
--- a/sot-core-v3/distinfo
+++ b/sot-core-v3/distinfo
@@ -1,4 +1,3 @@
-SHA1 (sot-core-v3-3.1.1.tar.gz) = 8e27ae46dd39c44a52590d409a3e019461209b15
-RMD160 (sot-core-v3-3.1.1.tar.gz) = 89c85471cee5bd76d75ad137944d4450a1648cf1
-Size (sot-core-v3-3.1.1.tar.gz) = 1130853 bytes
-SHA1 (patch-aa) = 58dedbb5a2c896f8bc2d42ce8814012188f4d4e9
+SHA1 (sot-core-v3-3.1.2.tar.gz) = 67286e8172cbce89e8d6ceceb357a00cc5bfff2c
+RMD160 (sot-core-v3-3.1.2.tar.gz) = eaf5894f04b8ae1e90013bbbaafb99f55d7223fd
+Size (sot-core-v3-3.1.2.tar.gz) = 1036657 bytes
diff --git a/sot-core-v3/patches/patch-aa b/sot-core-v3/patches/patch-aa
deleted file mode 100644
index 12d360206aaaf7f8dd60fc30b09b559c39acce70..0000000000000000000000000000000000000000
--- a/sot-core-v3/patches/patch-aa
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur include/sot/core/switch.hh include/sot/core/switch.hh
---- include/sot/core/switch.hh	2017-11-22 20:19:04.817875496 +0100
-+++ include/sot/core/switch.hh	2017-11-22 20:18:39.661171318 +0100
-@@ -45,7 +45,7 @@
-      
-     public: /* --- SIGNAL --- */
-       DYNAMIC_GRAPH_ENTITY_DECL();
--      dynamicgraph::SignalTimeDependent<bool,int> outSOUT;
-+      dynamicgraph::Signal<bool,int> outSOUT;
-       
-     protected:
-       bool signalOutput;
-@@ -58,9 +58,9 @@
-     public:
-       Switch( const std::string& name )
- 	: Entity(name)
--	,outSOUT( boost::bind(&Switch::switchOutput,this,_1,_2),
--                  sotNOSIGNAL,"Switch("+name+")::output(bool)::out")
-+	,outSOUT("Switch("+name+")::output(bool)::out")
-       {
-+        outSOUT.setFunction(boost::bind(&Switch::switchOutput,this,_1,_2));
-         signalOutput = false;
-         signalRegistration (outSOUT );
-         addCommand ("turnOn",