diff --git a/src/processor_base.cpp b/src/processor_base.cpp
index 9d92a285fdaf25d2f7d8f65124c85f09989b0c01..2b7e9144d15578ff4ff01131b1f042d16b3afb77 100644
--- a/src/processor_base.cpp
+++ b/src/processor_base.cpp
@@ -105,12 +105,12 @@ KFPackPtr KFPackBuffer::selectPack(const TimeStamp& _time_stamp, const Scalar& _
 
         bool prev_ok = checkTimeTolerance(prev->first, prev->second->time_tolerance, _time_stamp, _time_tolerance);
 
-        if (!prev_ok && post_ok)
-            return post->second;
-
-        else if (prev_ok && !post_ok)
+        if (prev_ok && !post_ok)
             return prev->second;
 
+        else if (!prev_ok && post_ok)
+            return post->second;
+
         else if (prev_ok && post_ok)
         {
             if (std::fabs(post->first - _time_stamp) < std::fabs(prev->first - _time_stamp))
diff --git a/src/test/gtest_processor_base.cpp b/src/test/gtest_processor_base.cpp
index 2aead7e4a3dbca54ae79e51567ac85c33202d0df..fcf02371075ee99a261ff43c71dad3dbe6bf1401 100644
--- a/src/test/gtest_processor_base.cpp
+++ b/src/test/gtest_processor_base.cpp
@@ -242,6 +242,8 @@ TEST(ProcessorBase, KeyFrameCallback)
         // Track
         proc_tracker->process(make_shared<CaptureVoid>(t, sen_tracker));
 
+        problem->print(4,0,0,0);
+
         // Only odom creating KFs
         ASSERT_TRUE( problem->getLastKeyFramePtr()->getType().compare("PO 2D")==0 );