diff --git a/src/processor/processor_tracker_feature.cpp b/src/processor/processor_tracker_feature.cpp
index f27d3b9c1bc6f664e135b4ca6893b6a977e7d206..33ec7f2a684c2fd06baa74370720290df29be4d0 100644
--- a/src/processor/processor_tracker_feature.cpp
+++ b/src/processor/processor_tracker_feature.cpp
@@ -97,19 +97,22 @@ unsigned int ProcessorTrackerFeature::processKnown()
     // Check/correct incoming-origin correspondences
     if (origin_ptr_ != nullptr)
     {
-        for (auto feature_in_incoming : known_features_incoming_)
+        auto ftr_inc_it = known_features_incoming_.begin();
+        while (ftr_inc_it != known_features_incoming_.end())
         {
-            SizeStd        track_id          = feature_in_incoming->trackId();
+            SizeStd        track_id          = (*ftr_inc_it)->trackId();
             FeatureBasePtr feature_in_last   = track_matrix_.feature(track_id, last_ptr_);
             FeatureBasePtr feature_in_origin = track_matrix_.feature(track_id, origin_ptr_);
-            if (!correctFeatureDrift(feature_in_origin, feature_in_last, feature_in_incoming))
+            if (!correctFeatureDrift(feature_in_origin, feature_in_last, (*ftr_inc_it)))
             {
                 // Remove this feature from many places:
-                matches_last_from_incoming_ .erase (feature_in_incoming); // remove match
-                track_matrix_               .remove(feature_in_incoming); // remove from track matrix
-                known_features_incoming_    .remove(feature_in_incoming); // remove from known features list
-                feature_in_incoming        ->remove();                    // remove from wolf tree
+                matches_last_from_incoming_          .erase (*ftr_inc_it);  // remove match
+                track_matrix_                        .remove(*ftr_inc_it);  // remove from track matrix
+                ftr_inc_it = known_features_incoming_.erase(ftr_inc_it);    // remove from known features list
+                (*ftr_inc_it)->                       remove();             // remove from wolf tree
             }
+            else
+                ftr_inc_it++;
         }
     }