diff --git a/src/problem.cpp b/src/problem.cpp
index a40d1b3e05c9113c39b9a26c63c172cbb95b5445..c9eeb21c041a8643f97808a45a316a88f4661873 100644
--- a/src/problem.cpp
+++ b/src/problem.cpp
@@ -484,12 +484,12 @@ bool Problem::getFrameCovariance(FrameBasePtr _frame_ptr, Eigen::MatrixXs& _cova
     bool success(true);
     int i = 0, j = 0;
 
-    for (auto sb_i : _frame_ptr->getStateBlockVec())
+    for (const auto& sb_i : _frame_ptr->getStateBlockVec())
     {
         if (sb_i)
         {
             j = 0;
-            for (auto sb_j : _frame_ptr->getStateBlockVec())
+            for (const auto& sb_j : _frame_ptr->getStateBlockVec())
             {
                 if (sb_j)
                 {
@@ -506,7 +506,7 @@ bool Problem::getFrameCovariance(FrameBasePtr _frame_ptr, Eigen::MatrixXs& _cova
 Eigen::MatrixXs Problem::getFrameCovariance(FrameBasePtr _frame_ptr)
 {
     Size sz = 0;
-    for (auto sb : _frame_ptr->getStateBlockVec())
+    for (const auto& sb : _frame_ptr->getStateBlockVec())
         if (sb)
             sz += sb->getSize();
     Eigen::MatrixXs covariance(sz, sz);
diff --git a/src/sensor_base.h b/src/sensor_base.h
index b68585d6ff24b7606d0094b588ded87e9785ef15..cd36d2881ca75aaeb8116c84b9678feac37e8663 100644
--- a/src/sensor_base.h
+++ b/src/sensor_base.h
@@ -260,7 +260,7 @@ inline bool SensorBase::process(const CaptureBasePtr capture_ptr)
 
   capture_ptr->setSensorPtr(shared_from_this());
 
-  for (const auto processor : processor_list_)
+  for (const auto& processor : processor_list_)
   {
     processor->process(capture_ptr);
   }