diff --git a/test/gtest_factor_autodiff_apriltag.cpp b/test/gtest_factor_autodiff_apriltag.cpp
index 98f76ab714b572f85314a39eb1bb71e272cfe283..efe596f06a88982efebfefba3b8402f3eb4e552c 100644
--- a/test/gtest_factor_autodiff_apriltag.cpp
+++ b/test/gtest_factor_autodiff_apriltag.cpp
@@ -329,7 +329,6 @@ TEST_F(FactorAutodiffApriltag_class, solve_L1_P_perturbated)
     f1->addFactor(constraint);
     lmk1->addConstrainedBy(constraint);
 
-
     // unfix lmk1, perturbate state
     lmk1->unfix();
     Vector3s p0 = Vector3s::Random() * 0.25;
@@ -432,6 +431,7 @@ TEST_F(FactorAutodiffApriltag_class, solve_L1_PO_perturbated)
     // Change Frame
     F1->getP()->setState(p_w_r);
     F1->getO()->setState(q_w_r.coeffs());
+    F1->fix();
     ASSERT_TRUE(std::find(problem->getStateBlockPtrList().begin(), problem->getStateBlockPtrList().end(), F1->getP()) != problem->getStateBlockPtrList().end());
     ASSERT_TRUE(std::find(problem->getStateBlockPtrList().begin(), problem->getStateBlockPtrList().end(), F1->getO()) != problem->getStateBlockPtrList().end());
     ASSERT_TRUE(F1->getP()->stateUpdated());
@@ -457,17 +457,15 @@ TEST_F(FactorAutodiffApriltag_class, solve_L1_PO_perturbated)
     Quaternions e0_quat = q_w_l * exp_q(Vector3s::Random() * 0.1);
     lmk1->getP()->setState(e0_pos);
     lmk1->getO()->setState(e0_quat.coeffs());
-    F1->fix();
-    S->fixExtrinsics();
+    ASSERT_TRUE(lmk1->getP()->stateUpdated());
+    ASSERT_TRUE(lmk1->getO()->stateUpdated());
 
 //    solve
     std::string report = ceres_manager->solve(SolverManager::ReportVerbosity::QUIET); // 0: nothing, 1: BriefReport, 2: FullReport
     //WOLF_DEBUG("Landmark state after solve: ");
     //WOLF_DEBUG(lmk1->getState().transpose());
-    t_w_r << p_w_r, q_w_r.coeffs();
-    t_w_l << p_w_l, q_w_l.coeffs();
-    ASSERT_MATRIX_APPROX(F1->getState(), t_w_r, 1e-6);
-    ASSERT_MATRIX_APPROX(lmk1->getState(), t_w_l, 1e-6);
+    ASSERT_MATRIX_APPROX(F1->getState().transpose(), t_w_r.transpose(), 1e-6);
+    ASSERT_MATRIX_APPROX(lmk1->getState().transpose(), t_w_l.transpose(), 1e-6);
 
 }