diff --git a/src/sensor_base.cpp b/src/sensor_base.cpp
index a2a4fe226a2e1f4e1d9165cc97fb7ed5c0270bd7..fe2b9ff3bd44c416bc41f875656b299057ea9e3b 100644
--- a/src/sensor_base.cpp
+++ b/src/sensor_base.cpp
@@ -342,33 +342,25 @@ ProcessorBasePtr SensorBase::addProcessor(ProcessorBasePtr _proc_ptr)
 
 StateBlockPtr SensorBase::getStateBlockPtrDynamic(unsigned int _i)
 {
-    if ((_i<2 && this->extrinsicsInCaptures()) || (_i>=2 && intrinsicsInCaptures()))
-    {
-        CaptureBasePtr cap = lastKeyCapture();
-        if (cap)
-            return cap->getStateBlockPtr(_i);
-        else
-            return getStateBlockPtrStatic(_i);
-    }
-    else
-        return getStateBlockPtrStatic(_i);
+    CaptureBasePtr cap;
+
+    if (isStateBlockDynamic(_i, cap))
+        return cap->getStateBlockPtr(_i);
+
+    return getStateBlockPtrStatic(_i);
 }
 
 StateBlockPtr SensorBase::getStateBlockPtrDynamic(unsigned int _i, const TimeStamp& _ts)
 {
-    if ((_i<2 && this->extrinsicsInCaptures()) || (_i>=2 && intrinsicsInCaptures()))
-    {
-        CaptureBasePtr cap = lastCapture(_ts);
-        if (cap)
-            return cap->getStateBlockPtr(_i);
-        else
-            return getStateBlockPtrStatic(_i);
-    }
-    else
-        return getStateBlockPtrStatic(_i);
+    CaptureBasePtr cap;
+
+    if (isStateBlockDynamic(_i, _ts, cap))
+        return cap->getStateBlockPtr(_i);
+
+    return getStateBlockPtrStatic(_i);
 }
 
-bool SensorBase::isDynamic(unsigned int _i, CaptureBasePtr& cap) const
+bool SensorBase::isStateBlockDynamic(unsigned int _i, CaptureBasePtr& cap) const
 {
     if ((_i<2 && this->extrinsicsInCaptures()) || (_i>=2 && intrinsicsInCaptures()))
     {
@@ -380,7 +372,7 @@ bool SensorBase::isDynamic(unsigned int _i, CaptureBasePtr& cap) const
         return false;
 }
 
-bool SensorBase::isDynamic(unsigned int _i, const TimeStamp& _ts, CaptureBasePtr& cap) const
+bool SensorBase::isStateBlockDynamic(unsigned int _i, const TimeStamp& _ts, CaptureBasePtr& cap) const
 {
     if ((_i<2 && this->extrinsicsInCaptures()) || (_i>=2 && intrinsicsInCaptures()))
     {
@@ -392,18 +384,18 @@ bool SensorBase::isDynamic(unsigned int _i, const TimeStamp& _ts, CaptureBasePtr
         return false;
 }
 
-bool SensorBase::isDynamic(unsigned int _i) const
+bool SensorBase::isStateBlockDynamic(unsigned int _i) const
 {
     CaptureBasePtr& cap;
 
-    return isDynamic(_i,cap);
+    return isStateBlockDynamic(_i,cap);
 }
 
-bool SensorBase::isDynamic(unsigned int _i, const TimeStamp& _ts) const
+bool SensorBase::isStateBlockDynamic(unsigned int _i, const TimeStamp& _ts) const
 {
     CaptureBasePtr& cap;
 
-    return isDynamic(_i,_ts,cap);
+    return isStateBlockDynamic(_i,_ts,cap);
 }
 
 void SensorBase::setProblem(ProblemPtr _problem)
diff --git a/src/sensor_base.h b/src/sensor_base.h
index bd64a1e403c4b6f7012e5d1c34710c1d8cd3fa6e..a046781294b85566c42fe10cd049e8102b8a028b 100644
--- a/src/sensor_base.h
+++ b/src/sensor_base.h
@@ -117,10 +117,11 @@ class SensorBase : public NodeBase, public std::enable_shared_from_this<SensorBa
         void setStateBlockPtrStatic(unsigned int _i, const StateBlockPtr _sb_ptr);
         void resizeStateBlockVec(unsigned int _size);
 
-        bool isDynamic(unsigned int _i, const TimeStamp& _ts, CaptureBasePtr& cap) const;
-        bool isDynamic(unsigned int _i, CaptureBasePtr& cap) const;
-        bool isDynamic(unsigned int _i, const TimeStamp& _ts) const;
-        bool isDynamic(unsigned int _i) const;
+        bool isStateBlockDynamic(unsigned int _i, const TimeStamp& _ts, CaptureBasePtr& cap) const;
+        bool isStateBlockDynamic(unsigned int _i, CaptureBasePtr& cap) const;
+        bool isStateBlockDynamic(unsigned int _i, const TimeStamp& _ts) const;
+        bool isStateBlockDynamic(unsigned int _i) const;
+
         StateBlockPtr getPPtr(const TimeStamp _ts);
         StateBlockPtr getOPtr(const TimeStamp _ts);
         StateBlockPtr getIntrinsicPtr(const TimeStamp _ts);
@@ -138,6 +139,7 @@ class SensorBase : public NodeBase, public std::enable_shared_from_this<SensorBa
         void unfixExtrinsics();
         void fixIntrinsics();
         void unfixIntrinsics();
+
         /** \brief Add an absolute constraint to a parameter
          *
          * Add an absolute constraint to a parameter
@@ -198,6 +200,7 @@ class SensorBase : public NodeBase, public std::enable_shared_from_this<SensorBa
                                 const Eigen::MatrixXs& _cov,
                                 unsigned int _start_idx = 0,
                                 int _size = -1);
+
         SizeEigen getCalibSize() const;
         Eigen::VectorXs getCalibration() const;
 
@@ -323,7 +326,7 @@ inline void SensorBase::addParameterPrior(const unsigned int _i, const TimeStamp
 {
     CaptureBasePtr cap;
     // i is dynamic? //TODO
-    if (isDynamic(_i, _ts, cap))
+    if (isStateBlockDynamic(_i, _ts, cap))
         addParameterDynamicPrior(cap, cap->getStateBlockPtr(_i), _x, _cov, _start_idx, _size);
     else
         addParameterStaticPrior(getStateBlockPtrStatic(_i), _x, _cov, _start_idx, _size);
@@ -334,7 +337,7 @@ inline void SensorBase::addParameterPrior(const unsigned int _i, const Eigen::Ve
 {
     CaptureBasePtr cap;
     // i is dynamic? //TODO
-    if (isDynamic(_i, cap))
+    if (isStateBlockDynamic(_i, cap))
         addParameterDynamicPrior(cap, cap->getStateBlockPtr(_i), _x, _cov, _start_idx, _size);
     else
         addParameterStaticPrior(getStateBlockPtrStatic(_i), _x, _cov, _start_idx, _size);