diff --git a/Core/Lattice/Lattice.cpp b/Core/Lattice/Lattice.cpp
index 3eab6e38d9e9fd75f635547cad14b47132926679..d4825552ae35a96042848e46efa88b1c4eeb181c 100644
--- a/Core/Lattice/Lattice.cpp
+++ b/Core/Lattice/Lattice.cpp
@@ -89,9 +89,9 @@ ivector_t Lattice::getNearestLatticeVectorCoordinates(const kvector_t vector_in)
     double a1_coord = vector_in.dot(m_ra)/M_TWOPI;
     double a2_coord = vector_in.dot(m_rb)/M_TWOPI;
     double a3_coord = vector_in.dot(m_rc)/M_TWOPI;
-    int c1 = (int)std::floor(a1_coord + 0.5);
-    int c2 = (int)std::floor(a2_coord + 0.5);
-    int c3 = (int)std::floor(a3_coord + 0.5);
+    int c1 = static_cast<int>(std::floor(a1_coord + 0.5));
+    int c2 = static_cast<int>(std::floor(a2_coord + 0.5));
+    int c3 = static_cast<int>(std::floor(a3_coord + 0.5));
     return ivector_t(c1, c2, c3);
 }
 
@@ -100,9 +100,9 @@ ivector_t Lattice::getNearestReciprocalLatticeVectorCoordinates(const kvector_t
     double b1_coord = vector_in.dot(m_a)/M_TWOPI;
     double b2_coord = vector_in.dot(m_b)/M_TWOPI;
     double b3_coord = vector_in.dot(m_c)/M_TWOPI;
-    int c1 = (int)std::floor(b1_coord + 0.5);
-    int c2 = (int)std::floor(b2_coord + 0.5);
-    int c3 = (int)std::floor(b3_coord + 0.5);
+    int c1 = static_cast<int>(std::floor(b1_coord + 0.5));
+    int c2 = static_cast<int>(std::floor(b2_coord + 0.5));
+    int c3 = static_cast<int>(std::floor(b3_coord + 0.5));
     return ivector_t(c1, c2, c3);
 }
 
@@ -162,9 +162,9 @@ std::vector<kvector_t> Lattice::vectorsWithinRadius(
     const kvector_t v1, const kvector_t v2, const kvector_t v3,
     const kvector_t rec1, const kvector_t rec2, const kvector_t rec3) const
 {
-    int max_X = (int)std::floor( rec1.mag()*radius/M_TWOPI );
-    int max_Y = (int)std::floor( rec2.mag()*radius/M_TWOPI );
-    int max_Z = (int)std::floor( rec3.mag()*radius/M_TWOPI );
+    int max_X = static_cast<int>(std::floor(rec1.mag()*radius/M_TWOPI + 0.5));
+    int max_Y = static_cast<int>(std::floor(rec2.mag()*radius/M_TWOPI + 0.5));
+    int max_Z = static_cast<int>(std::floor(rec3.mag()*radius/M_TWOPI + 0.5));
 
     std::vector<kvector_t> ret;
     for (int index_X = -max_X; index_X <= max_X; ++index_X) {
diff --git a/Tests/ReferenceData/legacy/mesocrystal01_reference.int.gz b/Tests/ReferenceData/legacy/mesocrystal01_reference.int.gz
index 378a507e5214f41a7bb20efadc76362b7feb68e6..60ff90eea08982ba26dbdb8dcbd7caf2b7ac981d 100644
Binary files a/Tests/ReferenceData/legacy/mesocrystal01_reference.int.gz and b/Tests/ReferenceData/legacy/mesocrystal01_reference.int.gz differ
diff --git a/Tests/UnitTests/Core/Sample/LatticeTest.h b/Tests/UnitTests/Core/Sample/LatticeTest.h
index fff360142ed9576cc7ce34e08236f2ba6b12946f..bd296f9613c1bdbd2700bd3048247c0521f4676b 100644
--- a/Tests/UnitTests/Core/Sample/LatticeTest.h
+++ b/Tests/UnitTests/Core/Sample/LatticeTest.h
@@ -156,10 +156,7 @@ TEST_F(LatticeTest, reciprocalLatticeVectorsWithinRadiusTest)
 
     EXPECT_EQ(vectors_expected, l1.reciprocalLatticeVectorsWithinRadius(vector_in, M_TWOPI));
 
-    // FIXME !FAILED TEST! reciprocalLatticeVectorsWithinRadius()
-    //EXPECT_EQ(vectors_expected, l1.reciprocalLatticeVectorsWithinRadius(vector_in, M_TWOPI-0.1));
-    // Should expect both vectors expected_1 and expected _2 to be present whereas only
-    // one of them i.e. expected_2 is present
+    EXPECT_EQ(vectors_expected, l1.reciprocalLatticeVectorsWithinRadius(vector_in, M_TWOPI-0.1));
 }