diff --git a/src/trajectory/trajectory_base.cpp b/src/trajectory/trajectory_base.cpp
index ca899deef67722885fd6dab673ec834410237ebb..f184dc77d9815e850dd02e4dc150241b82d9191d 100644
--- a/src/trajectory/trajectory_base.cpp
+++ b/src/trajectory/trajectory_base.cpp
@@ -31,8 +31,11 @@ FrameBasePtr TrajectoryBase::addFrame(FrameBasePtr _frame_ptr)
         // register state blocks
         _frame_ptr->registerNewStateBlocks();
 
-        // sort and update last_estimated and last_important
+        // sort
         sortFrame(_frame_ptr);
+
+        // update last_estimated and last_key
+        updateLastFrames();
     }
 
     return _frame_ptr;
@@ -71,7 +74,7 @@ void TrajectoryBase::updateLastFrames()
 {
     bool last_estimated_set = false;
 
-    // NOTE: Assumes keyframes are sorted by timestamp
+    // NOTE: Assumes estimated (key or auxiliary) frames are sorted by timestamp
     for (auto frm_rit = getFrameList().rbegin(); frm_rit != getFrameList().rend(); ++frm_rit)
         if ((*frm_rit)->isEstimated())
         {
@@ -80,22 +83,22 @@ void TrajectoryBase::updateLastFrames()
                 last_estimated_frame_ptr_ = (*frm_rit);
                 last_estimated_set = true;
             }
-            if ((*frm_rit)->isImportant())
+            if ((*frm_rit)->isKey())
             {
-                last_important_frame_ptr_ = (*frm_rit);
+                last_key_frame_ptr_ = (*frm_rit);
                 break;
             }
         }
 }
 
-FrameBasePtr TrajectoryBase::closestImportantFrameToTimeStamp(const TimeStamp& _ts) const
+FrameBasePtr TrajectoryBase::closestKeyFrameToTimeStamp(const TimeStamp& _ts) const
 {
-    // NOTE: Assumes keyframes are sorted by timestamp
+    // NOTE: Assumes estimated (key or auxiliary) frames are sorted by timestamp
     FrameBasePtr closest_kf = nullptr;
     Scalar min_dt = 1e9;
 
     for (auto frm_rit = frame_list_.rbegin(); frm_rit != frame_list_.rend(); frm_rit++)
-        if ((*frm_rit)->isImportant())
+        if ((*frm_rit)->isKey())
         {
             Scalar dt = std::fabs((*frm_rit)->getTimeStamp() - _ts);
             if (dt < min_dt)
@@ -111,6 +114,7 @@ FrameBasePtr TrajectoryBase::closestImportantFrameToTimeStamp(const TimeStamp& _
 
 FrameBasePtr TrajectoryBase::closestEstimatedFrameToTimeStamp(const TimeStamp& _ts) const
 {
+    // NOTE: Assumes estimated (key or auxiliary) frames are sorted by timestamp
     FrameBasePtr closest_kf = nullptr;
     Scalar min_dt = 1e9;