diff --git a/include/core/processor/track_matrix.h b/include/core/processor/track_matrix.h
index 7ccf8a73fbdf7df6d4e69f9e8fcc4bbf1d2e3909..0be506eaac14fec3bb469e725982ae8100400636 100644
--- a/include/core/processor/track_matrix.h
+++ b/include/core/processor/track_matrix.h
@@ -102,7 +102,7 @@ class TrackMatrix
         SizeStd         numKeyframeTracks();
         Track           trackAtKeyframes(size_t _track_id);
         bool            markKeyframe(CaptureBasePtr _capture);
-        bool            unmarkKeyframe(FrameBasePtr _keyframe);
+        bool            unmarkKeyframe(CaptureBasePtr _capture);
 
     private:
 
diff --git a/src/processor/track_matrix.cpp b/src/processor/track_matrix.cpp
index 56e87f15e3b94fb94705e909cbc928f39b701a31..9e385b519511301e2083bf9caf1600d19bb1cfae 100644
--- a/src/processor/track_matrix.cpp
+++ b/src/processor/track_matrix.cpp
@@ -247,10 +247,10 @@ bool TrackMatrix::markKeyframe(CaptureBasePtr _capture)
     return false;
 }
 
-bool TrackMatrix::unmarkKeyframe(FrameBasePtr _keyframe)
+bool TrackMatrix::unmarkKeyframe(CaptureBasePtr _capture)
 {
     bool removed = false;
-    auto ts = _keyframe->getTimeStamp();
+    auto ts = _capture->getTimeStamp();
     for (auto pair_id_trk : tracks_kf_)
     {
         if (pair_id_trk.second.erase(ts))
diff --git a/test/gtest_track_matrix.cpp b/test/gtest_track_matrix.cpp
index 1b84496eb1b3c49138ffbc9f97666558617133f5..e9b3a620c382ebb1404546874879e4c519f6f192 100644
--- a/test/gtest_track_matrix.cpp
+++ b/test/gtest_track_matrix.cpp
@@ -455,7 +455,7 @@ TEST_F(TrackMatrixTest, unmarkKeyframe)
     ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 
     F0->setNonEstimated();
-    track_matrix.unmarkKeyframe(F0);
+    track_matrix.unmarkKeyframe(C0);
     /*  C0   C1   C2   C3   snapshots
      *
      *  f0---f1---f2        trk 0