diff --git a/include/core/processor/track_matrix.h b/include/core/processor/track_matrix.h
index 0be506eaac14fec3bb469e725982ae8100400636..edc6f9092f96fe7835d80658b975eb127552a00c 100644
--- a/include/core/processor/track_matrix.h
+++ b/include/core/processor/track_matrix.h
@@ -99,10 +99,10 @@ class TrackMatrix
         CaptureBasePtr  firstCapture(size_t _track_id);
 
         // tracks across captures that belong to keyframe
-        SizeStd         numKeyframeTracks();
+//        SizeStd         numKeyframeTracks();
         Track           trackAtKeyframes(size_t _track_id);
-        bool            markKeyframe(CaptureBasePtr _capture);
-        bool            unmarkKeyframe(CaptureBasePtr _capture);
+//        bool            markKeyframe(CaptureBasePtr _capture);
+//        bool            unmarkKeyframe(CaptureBasePtr _capture);
 
     private:
 
@@ -111,8 +111,8 @@ class TrackMatrix
         // Along track: maps of Feature pointers indexed by time stamp.
         // tracks across all Captures
         map<size_t, Track > tracks_;       // map indexed by track_Id   of ( maps indexed by TimeStamp  of ( features ) )
-        // tracks across captures that belong to keyframe
-        map<size_t, Track > tracks_kf_;    // map indexed by track_Id   of ( maps indexed by TimeStamp  of ( features ) )
+//        // tracks across captures that belong to keyframe
+//        map<size_t, Track > tracks_kf_;    // map indexed by track_Id   of ( maps indexed by TimeStamp  of ( features ) )
 
         // Across track: maps of Feature pointers indexed by track_Id.
         map<CaptureBasePtr, Snapshot > snapshots_; // map indexed by capture_ptr of ( maps indexed by track_Id of ( features ) )
diff --git a/src/processor/track_matrix.cpp b/src/processor/track_matrix.cpp
index b6af398c7270b4881553eeb5fad941601138e480..394fa88964d46e1a0d0e1632a058a124cb4ecfdc 100644
--- a/src/processor/track_matrix.cpp
+++ b/src/processor/track_matrix.cpp
@@ -53,8 +53,6 @@ void TrackMatrix::add(size_t _track_id, CaptureBasePtr _cap, FeatureBasePtr _ftr
         _ftr->setCapture(_cap);
     tracks_[_track_id].emplace(_cap->getTimeStamp(), _ftr);
     snapshots_[_cap].emplace(_track_id, _ftr);        // will create new snapshot if _cap_id   is not present
-    if (_cap->getFrame() && _cap->getFrame()->isKey())
-        tracks_kf_[_track_id].emplace(_cap->getTimeStamp(), _ftr);
 }
 
 void TrackMatrix::remove(size_t _track_id)
@@ -74,9 +72,6 @@ void TrackMatrix::remove(size_t _track_id)
         // Remove track
         tracks_.erase(_track_id);
     }
-    if (tracks_kf_.count(_track_id))
-        // Remove track
-        tracks_kf_.erase(_track_id);
 }
 
 void TrackMatrix::remove(CaptureBasePtr _cap)
@@ -91,12 +86,6 @@ void TrackMatrix::remove(CaptureBasePtr _cap)
             tracks_.at(trk_id).erase(ts);
             if (tracks_.at(trk_id).empty())
                 tracks_.erase(trk_id);
-            if (_cap->getFrame() && _cap->getFrame()->isKey())
-            {
-                tracks_kf_.at(trk_id).erase(ts);
-                if (tracks_kf_.at(trk_id).empty())
-                    tracks_kf_.erase(trk_id);
-            }
         }
 
         // remove snapshot
@@ -115,13 +104,6 @@ void TrackMatrix::remove(FeatureBasePtr _ftr)
             if (tracks_.at(_ftr->trackId()).empty())
                 tracks_.erase(_ftr->trackId());
 
-            if (cap->getFrame() && cap->getFrame()->isKey())
-            {
-                tracks_kf_    .at(_ftr->trackId()).erase(cap->getTimeStamp());
-                if (tracks_kf_.at(_ftr->trackId()).empty())
-                    tracks_kf_.erase(_ftr->trackId());
-            }
-
             snapshots_.at(cap)      .erase(_ftr->trackId());
             if (snapshots_.at(cap).empty())
                 snapshots_.erase(cap);
@@ -134,11 +116,6 @@ size_t TrackMatrix::numTracks()
     return tracks_.size();
 }
 
-size_t TrackMatrix::numKeyframeTracks()
-{
-    return tracks_kf_.size();
-}
-
 size_t TrackMatrix::trackSize(size_t _track_id)
 {
     return track(_track_id).size();
@@ -220,14 +197,7 @@ CaptureBasePtr TrackMatrix::firstCapture(size_t _track_id)
 
 Track TrackMatrix::trackAtKeyframes(size_t _track_id)
 {
-//    // This requires tracks_kf_
-//    if (tracks_kf_.count(_track_id) > 0)
-//        return tracks_kf_.at(_track_id);
-//    else
-//        return Track();
-
-
-    // This does not require any tracks_kf_; it assembles a track_kf on the fly by checking each capture's frame.
+    // We assemble a track_kf on the fly by checking each capture's frame.
     if (tracks_.count(_track_id))
     {
         Track track_kf;
@@ -244,49 +214,4 @@ Track TrackMatrix::trackAtKeyframes(size_t _track_id)
         return Track();
 }
 
-bool TrackMatrix::markKeyframe(CaptureBasePtr _capture)
-{
-    if (_capture->getFrame() && _capture->getFrame()->isKey())
-    {
-        auto snap = snapshot(_capture);
-
-        if (snap.empty())
-            return false;
-
-        for (auto pair_trkid_ftr : snap)
-        {
-            auto track_id = pair_trkid_ftr.first;
-            auto ftr      = pair_trkid_ftr.second;
-            auto ts       = _capture->getFrame()->getTimeStamp();
-            tracks_kf_[track_id][ts] = ftr;
-        }
-        return true;
-    }
-    return false;
-}
-
-bool TrackMatrix::unmarkKeyframe(CaptureBasePtr _capture)
-{
-    bool removed = false;
-    if (_capture)
-    {
-        auto ts = _capture->getTimeStamp();
-        for (auto& pair_id_trk : tracks_kf_)
-        {
-            if (pair_id_trk.second.erase(ts))   // remove feature from track
-            {
-                if (pair_id_trk.second.empty()) // remove empty tracks
-                {
-                    tracks_kf_.erase(pair_id_trk.first);
-                    if (tracks_kf_.empty())
-                        break;
-                }
-                removed = true;
-            }
-        }
-    }
-    return removed;
-}
-
-
 }
diff --git a/test/gtest_track_matrix.cpp b/test/gtest_track_matrix.cpp
index a11537156af399c2b6018c643f51c9fef78cd9aa..f2f08e8c2241624b8914fd0eb6dc2ebbf93bab2d 100644
--- a/test/gtest_track_matrix.cpp
+++ b/test/gtest_track_matrix.cpp
@@ -60,26 +60,21 @@ TEST_F(TrackMatrixTest, newTrack)
 {
     track_matrix.newTrack(C0, f0);
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 1);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 
     track_matrix.newTrack(C0, f1);
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 2);
 
     track_matrix.newTrack(C1, f2);
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 3);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 2);
 
     track_matrix.newTrack(C1, f3);
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 4);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 2);
 }
 
 TEST_F(TrackMatrixTest, add)
 {
     track_matrix.newTrack(C0, f0);
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 1);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 
     track_matrix.add(f0->trackId(), C1, f1);
     /* KC0   C1   C2   snapshots
@@ -89,7 +84,6 @@ TEST_F(TrackMatrixTest, add)
     ASSERT_EQ(track_matrix.trackSize(f1->trackId()), (unsigned int) 2);
     ASSERT_EQ(f1->trackId(), f0->trackId());
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 1);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 
     track_matrix.add(f0->trackId(), C2, f2);
     /* KC0   C1   C2   snapshots
@@ -99,7 +93,6 @@ TEST_F(TrackMatrixTest, add)
     ASSERT_EQ(track_matrix.trackSize(f2->trackId()), (unsigned int) 3);
     ASSERT_EQ(f2->trackId(), f0->trackId());
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 1);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 
     track_matrix.add(f0->trackId(), C2, f2);
     /* KC0   C1   C2   snapshots
@@ -111,7 +104,6 @@ TEST_F(TrackMatrixTest, add)
     ASSERT_EQ(track_matrix.trackSize(f3->trackId()), (unsigned int) 1);
     ASSERT_NE(f3->trackId(), f0->trackId());
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 }
 
 TEST_F(TrackMatrixTest, numTracks)
@@ -182,7 +174,6 @@ TEST_F(TrackMatrixTest, remove_ftr)
      */
 
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 2);
 
     track_matrix.remove(f0);
     /*  C0   C1   C2   snapshots
@@ -198,7 +189,6 @@ TEST_F(TrackMatrixTest, remove_ftr)
     ASSERT_EQ(track_matrix.snapshot(C0).at(f2->trackId()), f2);
     ASSERT_EQ(track_matrix.snapshot(C1).size(), (unsigned int) 1);
     ASSERT_EQ(track_matrix.snapshot(C1).at(f0->trackId()), f1);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 
     track_matrix.remove(f1);
     /*  C0   C1   C2   snapshots
@@ -207,14 +197,12 @@ TEST_F(TrackMatrixTest, remove_ftr)
      */
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 1);
     ASSERT_EQ(track_matrix.firstFeature(f2->trackId()), f2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 
     track_matrix.remove(f2);
     /*  C0   C1   C2   snapshots
      *
      */
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 0);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 0);
 }
 
 TEST_F(TrackMatrixTest, remove_trk)
@@ -231,16 +219,13 @@ TEST_F(TrackMatrixTest, remove_trk)
      */
 
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 2);
 
     track_matrix.remove(f0->trackId());
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 1);
     ASSERT_EQ(track_matrix.firstFeature(f2->trackId()), f2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
 
     track_matrix.remove(f2->trackId());
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 0);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 0);
 }
 
 TEST_F(TrackMatrixTest, remove_snapshot)
@@ -257,7 +242,6 @@ TEST_F(TrackMatrixTest, remove_snapshot)
      */
 
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 2);
 
     track_matrix.remove(C0);
     /*  C1   C2   snapshots
@@ -266,11 +250,9 @@ TEST_F(TrackMatrixTest, remove_snapshot)
      */
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 1);
     ASSERT_EQ(track_matrix.firstFeature(f1->trackId()), f1);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 0);
 
     track_matrix.remove(C1);
     ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 0);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 0);
 }
 
 TEST_F(TrackMatrixTest, track)
@@ -410,66 +392,6 @@ TEST_F(TrackMatrixTest, trackAtKeyframes)
     ASSERT_EQ(trk_kf_1.size(), 0);
 }
 
-TEST_F(TrackMatrixTest, markKeyframe)
-{
-    track_matrix.newTrack(C0, f0);
-    track_matrix.add(f0->trackId(), C1, f1);
-    track_matrix.add(f0->trackId(), C2, f2);
-    track_matrix.add(1, C1, f3);
-    /* KC0   C1   C2   C3   snapshots
-     *
-     *  f0---f1---f2        trk 0
-     *       |
-     *       f3             trk 1
-     */
-
-    ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
-
-    C1->getFrame()->setKey();
-    track_matrix.markKeyframe(C1);
-    /* KC0  KC1   C2   C3   snapshots
-     *
-     *  f0---f1---f2        trk 0
-     *       |
-     *       f3             trk 1
-     */
-
-    ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 2);
-
-}
-
-TEST_F(TrackMatrixTest, unmarkKeyframe)
-{
-    track_matrix.newTrack(C0, f0);
-    track_matrix.add(f0->trackId(), C1, f1);
-    track_matrix.add(f0->trackId(), C2, f2);
-    track_matrix.add(1, C1, f3);
-    /* KC0   C1   C2   C3   snapshots
-     *
-     *  f0---f1---f2        trk 0
-     *       |
-     *       f3             trk 1
-     */
-
-    ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 1);
-
-    F0->setNonEstimated();
-    track_matrix.unmarkKeyframe(C0);
-    /*  C0   C1   C2   C3   snapshots
-     *
-     *  f0---f1---f2        trk 0
-     *       |
-     *       f3             trk 1
-     */
-
-    ASSERT_EQ(track_matrix.numTracks(), (unsigned int) 2);
-    ASSERT_EQ(track_matrix.numKeyframeTracks(), (unsigned int) 0);
-
-
-}
 
 int main(int argc, char **argv)
 {