diff --git a/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h b/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h
index 92fe3ca902450760dcdfdf54594b04f39d4801c0..abece6e0d706e25da604a03d8c13f70dafdb2ed6 100644
--- a/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h
+++ b/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h
@@ -149,9 +149,9 @@ inline FactorForceTorqueInertialDynamics::FactorForceTorqueInertialDynamics(cons
           _ftr->getFrame()->getStateBlock('O'),               // current frame O
           _ftr->getFrame()->getStateBlock('V'),               // current frame V
           _ftr->getFrame()->getStateBlock('L'),               // current frame L
-          _capture_origin->getSensor()->getStateBlock('C'),   // sensor C
-          _capture_origin->getSensor()->getStateBlock('i'),   // sensor i
-          _capture_origin->getSensor()->getStateBlock('m')),  // sensor m
+          _ftr->getCapture()->getStateBlock('C'),             // sensor C
+          _ftr->getCapture()->getStateBlock('i'),             // sensor i
+          _ftr->getCapture()->getStateBlock('m')),            // sensor m
       dt_(_ftr->getFrame()->getTimeStamp() - _capture_origin->getFrame()->getTimeStamp()),
       delta_preint_(_ftr->getDeltaPreint()),
       calib_preint_(_ftr->getCalibrationPreint()),
@@ -238,9 +238,9 @@ inline VectorXd FactorForceTorqueInertialDynamics::residual() const
     Quaterniond q1   = Quaterniond(getFrame()->getStateBlock('O')->getState().data());
     Vector3d    v1   = getFrame()->getStateBlock('V')->getState();
     Vector3d    L1   = getFrame()->getStateBlock('L')->getState();
-    Vector3d    C    = getCapture()->getSensor()->getStateBlock('C')->getState();
-    Vector3d    i    = getCapture()->getSensor()->getStateBlock('i')->getState();
-    double      m    = getCapture()->getSensor()->getStateBlock('m')->getState()(0);
+    Vector3d    C    = getCapture()->getSensor()->getStateBlockDynamic('C')->getState();
+    Vector3d    i    = getCapture()->getSensor()->getStateBlockDynamic('i')->getState();
+    double      m    = getCapture()->getSensor()->getStateBlockDynamic('m')->getState()(0);
 
     residual(p0, q0, v0, L0, bias, p1, q1, v1, L1, C, i, m, res);
     return res;
diff --git a/src/capture/capture_force_torque_inertial.cpp b/src/capture/capture_force_torque_inertial.cpp
index 6a15c13a51ae57e098aec6c903844ce4ec9814e6..597c09391670c82610f6035c57c18124c42b4c46 100644
--- a/src/capture/capture_force_torque_inertial.cpp
+++ b/src/capture/capture_force_torque_inertial.cpp
@@ -18,7 +18,7 @@ CaptureForceTorqueInertial::CaptureForceTorqueInertial(const TimeStamp&       _i
                     nullptr,                                // position is static
                     nullptr,                                // orientation is static
                     (_sensor_ptr->isStateBlockDynamic('I')  // dynamic intrinsics are IMU bias
-                         ? std::make_shared<StateParams6>(_sensor_ptr->getStateBlock('I')->getState(), false)
+                         ? std::make_shared<StateParams6>(_sensor_ptr->getStateBlockDynamic('I')->getState(), false)
                          : nullptr))
 {
     //
diff --git a/src/processor/processor_force_torque_inertial_dynamics.cpp b/src/processor/processor_force_torque_inertial_dynamics.cpp
index 90746a9adca85359bac3178971c66e56b312d907..77bc249abbec9a59a048e9a5c7faae94beef0447 100644
--- a/src/processor/processor_force_torque_inertial_dynamics.cpp
+++ b/src/processor/processor_force_torque_inertial_dynamics.cpp
@@ -469,10 +469,10 @@ VectorXd ProcessorForceTorqueInertialDynamics::getCalibration(const CaptureBaseC
     else
     {
         VectorXd        calibration(13);
-        const Vector6d& I_calib = getSensor()->getStateBlock('I')->getState();
-        const Vector3d& C_calib = getSensor()->getStateBlock('C')->getState();
-        const Vector3d& i_calib = getSensor()->getStateBlock('i')->getState();
-        const Vector1d& m_calib = getSensor()->getStateBlock('m')->getState();
+        const Vector6d& I_calib = getSensor()->getStateBlockDynamic('I')->getState();
+        const Vector3d& C_calib = getSensor()->getStateBlockDynamic('C')->getState();
+        const Vector3d& i_calib = getSensor()->getStateBlockDynamic('i')->getState();
+        const Vector1d& m_calib = getSensor()->getStateBlockDynamic('m')->getState();
         calibration << I_calib, C_calib, i_calib, m_calib;
         return calibration;
     }