diff --git a/include/Directions.h b/include/Directions.h
index 1534eb8527491a132dbba5d47c7c14ed8ef118f2..214f218146536caaa2da47330cd40908012465ac 100644
--- a/include/Directions.h
+++ b/include/Directions.h
@@ -184,9 +184,9 @@ void radec2lmn::operator()(Arch, const Direction &reference, const C &ra,
     double sin_dec = std::sin(dec[i]);
     double cos_dec = std::cos(dec[i]);
 
-    lmn(i, 0) = cos_dec * sin_delta_ra;
-    lmn(i, 1) = sin_dec * cos_dec0 - cos_dec * sin_dec0 * cos_delta_ra;
-    lmn(i, 2) = sin_dec * sin_dec0 + cos_dec * cos_dec0 * cos_delta_ra;
+    lmn(0, i) = cos_dec * sin_delta_ra;
+    lmn(1, i) = sin_dec * cos_dec0 - cos_dec * sin_dec0 * cos_delta_ra;
+    lmn(2, i) = sin_dec * sin_dec0 + cos_dec * cos_dec0 * cos_delta_ra;
   }
 }
 
@@ -197,7 +197,7 @@ inline void Directions::radec2lmn<Directions::computation_strategy::MULTI_SIMD>(
     const Direction &reference, xt::xtensor<double, 2> &lmn) {
   xt::xtensor<double, 2> lmn_tmp({3, ra.size()});
   xsimd::dispatch(xsimd::radec2lmn{})(reference, ra, dec, lmn_tmp,
-                                      xsimd::aligned_mode());
+                                      xsimd::unaligned_mode());
   lmn = xt::transpose(lmn_tmp);
 }
 #endif
\ No newline at end of file
diff --git a/tests/test_directions.cpp b/tests/test_directions.cpp
index 984bd143e508718f064bb824e5547d748715b4a3..5db962c8fafd88b400cb60c894591501e70b0f9e 100644
--- a/tests/test_directions.cpp
+++ b/tests/test_directions.cpp
@@ -114,4 +114,31 @@ BOOST_AUTO_TEST_CASE(test_radec_to_lmn_xsimd) {
   }
 }
 
+BOOST_AUTO_TEST_CASE(test_radec_to_lmn_xsimd_with_remainder) {
+  Direction reference(0.2, 0.3);
+  Direction dir_0(0.1, 0.2);
+  Direction dir_1(0.2, 0.3);
+  Direction dir_2(0.3, 0.4);
+
+  xt::xtensor<double, 2> lmn_expected({3, 3});
+
+  dp3::base::radec2lmn(reference, dir_0, &lmn_expected(0, 0));
+  dp3::base::radec2lmn(reference, dir_1, &lmn_expected(1, 0));
+  dp3::base::radec2lmn(reference, dir_2, &lmn_expected(2, 0));
+
+  Directions directions;
+  directions.add(dir_0);
+  directions.add(dir_1);
+  directions.add(dir_2);
+
+  xt::xtensor<double, 2> lmn_actual({3, 3});
+  directions.radec2lmn<Directions::computation_strategy::MULTI_SIMD>(
+      reference, lmn_actual);
+  for (size_t i; i < 3; ++i) {
+    BOOST_CHECK_CLOSE(lmn_expected(i, 0), lmn_actual(i, 0), 1.e-6);
+    BOOST_CHECK_CLOSE(lmn_expected(i, 1), lmn_actual(i, 1), 1.e-6);
+    BOOST_CHECK_CLOSE(lmn_expected(i, 2), lmn_actual(i, 2), 1.e-6);
+  }
+}
+
 BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file