diff --git a/src/capture/capture_imu.cpp b/src/capture/capture_imu.cpp
index 057eb1211d9f30ef23bd1e19381ee8c391111f16..14a604c9261613207b5f73c1a899bcf6f782136d 100644
--- a/src/capture/capture_imu.cpp
+++ b/src/capture/capture_imu.cpp
@@ -63,7 +63,7 @@ CaptureImu::CaptureImu(const TimeStamp&       _init_ts,
           _capture_origin_ptr,
           nullptr,
           nullptr,
-          (_bias.size() == 2)
+          (_bias.size() == 3)
               ? std::static_pointer_cast<StateBlock>(std::make_shared<StateParams3>(Vector3d::Zero(), false))
               : std::static_pointer_cast<StateBlock>(std::make_shared<StateParams6>(Vector6d::Zero(), false)))
 {