diff --git a/src/BV/OBB.cpp b/src/BV/OBB.cpp
index 14b256d58b8d0e06387bec1ee08fccf1f6c9e92c..f2bcd0941af143fe19dfa8a20236d34395364575 100644
--- a/src/BV/OBB.cpp
+++ b/src/BV/OBB.cpp
@@ -75,7 +75,7 @@ inline OBB merge_largedist(const OBB& b1, const OBB& b2)
 
   Vec3f vertex_proj[16];
   for(int i = 0; i < 16; ++i)
-    vertex_proj[i] = vertex[i] - b.axes.col(0) * vertex[i].dot(b.axes.col(0));
+    vertex_proj[i].noalias() = vertex[i] - b.axes.col(0) * vertex[i].dot(b.axes.col(0));
 
   getCovariance(vertex_proj, NULL, NULL, NULL, 16, M);
   eigen(M, s, E);
@@ -95,8 +95,8 @@ inline OBB merge_largedist(const OBB& b1, const OBB& b2)
   Vec3f center, extent;
   getExtentAndCenter(vertex, NULL, NULL, NULL, 16, b.axes, center, extent);
 
-  b.To = center;
-  b.extent = extent;
+  b.To.noalias() = center;
+  b.extent.noalias() = extent;
 
   return b;
 }