diff --git a/include/core/processor/is_motion.h b/include/core/processor/is_motion.h
index 6fd65feecee502218688a7943df502cc5c0e4077..c789946582abe964af8171526ec8b2a4af1b1603 100644
--- a/include/core/processor/is_motion.h
+++ b/include/core/processor/is_motion.h
@@ -22,6 +22,7 @@ class IsMotion
 {
     public:
 
+        IsMotion(const StateStructure& _structure);
         virtual ~IsMotion();
 
         // Queries to the processor:
@@ -38,6 +39,12 @@ class IsMotion
 
 };
 
+inline IsMotion::IsMotion(const StateStructure& _structure) :
+        state_structure_(_structure)
+{
+    //
+}
+
 }
 
 /////  IMPLEMENTATION ///////
diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp
index fe0e98412608f799877beff7bb929c49106fbf86..e6466605eab5c9ee0dca322d4ca701f555b10a55 100644
--- a/src/processor/processor_motion.cpp
+++ b/src/processor/processor_motion.cpp
@@ -23,6 +23,7 @@ ProcessorMotion::ProcessorMotion(const std::string& _type,
                                  SizeEigen _calib_size,
                                  ParamsProcessorMotionPtr _params_motion) :
         ProcessorBase(_type, _dim, _params_motion),
+        IsMotion(_state_structure),
         params_motion_(_params_motion),
         processing_step_(RUNNING_WITHOUT_KF),
         x_size_(_state_size),
@@ -44,7 +45,6 @@ ProcessorMotion::ProcessorMotion(const std::string& _type,
         jacobian_delta_(delta_cov_size_, delta_cov_size_),
         jacobian_calib_(delta_cov_size_, calib_size_)
 {   
-    setStateStructure(_state_structure);
     //
 }