diff --git a/include/core/processor/motion_provider.h b/include/core/processor/motion_provider.h
index 9a6e84d9c8949b4c9d5c5e69cdf3ec071d66fa57..d7bd26d00df45c7f14d0ff5ae01966e271af03ef 100644
--- a/include/core/processor/motion_provider.h
+++ b/include/core/processor/motion_provider.h
@@ -80,7 +80,7 @@ class MotionProvider
         void setStatePriority(int);
 
     public:
-        const StateStructure& getStateStructure ( ) { return state_structure_; };
+        const StateStructure& getStateStructure ( ) const { return state_structure_; };
         void setStateStructure(std::string _state_structure) { state_structure_ = _state_structure; };
         void addToProblem(ProblemPtr _prb_ptr, MotionProviderPtr _motion_ptr);
 
diff --git a/include/core/processor/processor_tracker.h b/include/core/processor/processor_tracker.h
index d93c9baa367b8ba65374a4b64d21bab194ce1d2a..b0683aba04b3e5d8fe041775199823436c728655 100644
--- a/include/core/processor/processor_tracker.h
+++ b/include/core/processor/processor_tracker.h
@@ -136,7 +136,7 @@ class ProcessorTracker : public ProcessorBase
                          ParamsProcessorTrackerPtr _params_tracker);
         ~ProcessorTracker() override;
 
-        StateStructure getStateStructure() const;
+        const StateStructure& getStateStructure() const;
 
         virtual CaptureBaseConstPtr getOrigin() const;
         virtual CaptureBasePtr getOrigin();
@@ -313,7 +313,7 @@ inline FeatureBasePtrList& ProcessorTracker::getNewFeaturesListIncoming()
     return new_features_incoming_;
 }
 
-inline StateStructure ProcessorTracker::getStateStructure ( ) const
+inline const StateStructure& ProcessorTracker::getStateStructure ( ) const
 {
     return state_structure_;
 }