diff --git a/MeshLib/MeshGenerators/RasterToMesh.cpp b/MeshLib/MeshGenerators/RasterToMesh.cpp
index f072bb82619c32806cbc041f8fdefa75e97b0d87..fe3d5e253054f7a29ce70fbe38000b02b1316690 100644
--- a/MeshLib/MeshGenerators/RasterToMesh.cpp
+++ b/MeshLib/MeshGenerators/RasterToMesh.cpp
@@ -72,7 +72,9 @@ MeshLib::Mesh* RasterToMesh::convert(
         return nullptr;
     }
 
-    MathLib::Point3d const orig(std::array<double, 3>{ {origin[0], origin[1], origin[2]}});
+    MathLib::Point3d const orig(
+        std::array<double, 3>{{origin[0] - 0.5 * scalingFactor,
+                               origin[1] - 0.5 * scalingFactor, origin[2]}});
     GeoLib::RasterHeader const header = {static_cast<std::size_t>(dims[0]),
                                          static_cast<std::size_t>(dims[1]),
                                          static_cast<std::size_t>(dims[2]),
@@ -139,9 +141,6 @@ MeshLib::Mesh* RasterToMesh::convert(
         return nullptr;
     }
 
-    MathLib::Point3d mesh_origin(std::array<double, 3>{
-        {header.origin[0] - (header.cell_size / 2.0),
-         header.origin[1] - (header.cell_size / 2.0), header.origin[2]}});
     std::unique_ptr<MeshLib::Mesh> mesh (nullptr);
     if (elem_type == MeshElemType::TRIANGLE)
     {
@@ -149,7 +148,7 @@ MeshLib::Mesh* RasterToMesh::convert(
             MeshLib::MeshGenerator::generateRegularTriMesh(header.n_cols,
                                                            header.n_rows,
                                                            header.cell_size,
-                                                           mesh_origin,
+                                                           header.origin,
                                                            "RasterDataMesh"));
     }
     else if (elem_type == MeshElemType::QUAD)
@@ -158,7 +157,7 @@ MeshLib::Mesh* RasterToMesh::convert(
             MeshLib::MeshGenerator::generateRegularQuadMesh(header.n_cols,
                                                             header.n_rows,
                                                             header.cell_size,
-                                                            mesh_origin,
+                                                            header.origin,
                                                             "RasterDataMesh"));
     }
     else if (elem_type == MeshElemType::PRISM)
@@ -168,7 +167,7 @@ MeshLib::Mesh* RasterToMesh::convert(
                                                              header.n_rows,
                                                              header.n_depth,
                                                              header.cell_size,
-                                                             mesh_origin,
+                                                             header.origin,
                                                              "RasterDataMesh"));
     }
     else if (elem_type == MeshElemType::HEXAHEDRON)
@@ -178,7 +177,7 @@ MeshLib::Mesh* RasterToMesh::convert(
                                                            header.n_rows,
                                                            header.n_depth,
                                                            header.cell_size,
-                                                           mesh_origin,
+                                                           header.origin,
                                                            "RasterDataMesh"));
     }