diff --git a/src/processor/processor_tracker.cpp b/src/processor/processor_tracker.cpp
index b9fd36ec444a345ad57ffc4ea3e81d74007a5911..03ff583b79794763ea693dc6b995592d9874b4df 100644
--- a/src/processor/processor_tracker.cpp
+++ b/src/processor/processor_tracker.cpp
@@ -218,7 +218,7 @@ void ProcessorTracker::processCapture(CaptureBasePtr _incoming_ptr)
                 establishFactors();
 
                 // Call the new keyframe callback in order to let the other processors to establish their factors
-                getProblem()->keyFrameCallback(last_ptr_->getFrame(), std::static_pointer_cast<ProcessorBase>(shared_from_this()), params_tracker_->time_tolerance);
+                getProblem()->keyFrameCallback(last_ptr_->getFrame(), shared_from_this(), params_tracker_->time_tolerance);
 
                 // Update pointers
                 resetDerived();