diff --git a/MeshLib/MeshEditing/projectMeshOntoPlane.h b/MeshLib/MeshEditing/projectMeshOntoPlane.h
index ae269bf49572c734591f547869526e4be001bf79..91ed4ecedf3cb41b8a31aa956542f50d9b31ce0c 100644
--- a/MeshLib/MeshEditing/projectMeshOntoPlane.h
+++ b/MeshLib/MeshEditing/projectMeshOntoPlane.h
@@ -39,16 +39,20 @@ MeshLib::Mesh* projectMeshOntoPlane(MeshLib::Mesh const& mesh,
 {
     std::size_t const n_nodes (mesh.getNumberOfNodes());
     std::vector<MeshLib::Node*> const& nodes (mesh.getNodes());
-    MathLib::Vector3 normal (plane_normal);
+    Eigen::Vector3d normal({plane_normal[0], plane_normal[1], plane_normal[2]});
     normal.normalize();
     std::vector<MeshLib::Node*> new_nodes;
     new_nodes.reserve(n_nodes);
     for (std::size_t i=0; i<n_nodes; ++i)
     {
-        MeshLib::Node const& node(*nodes[i]);
-        MathLib::Vector3 const v(plane_origin, node);
-        double const dist (MathLib::scalarProduct(v,normal));
-        new_nodes.push_back(new MeshLib::Node(node - dist * normal));
+        auto const node =
+            Eigen::Map<Eigen::Vector3d const>(nodes[i]->getCoords());
+        Eigen::Vector3d const v =
+            node - Eigen::Map<Eigen::Vector3d const>(plane_origin.getCoords());
+        double const dist(v.dot(normal));
+        Eigen::Vector3d const new_node = node - dist * normal;
+        new_nodes.push_back(
+            new MeshLib::Node(new_node[0], new_node[1], new_node[2]));
     }
 
     return new MeshLib::Mesh("Projected_Mesh", new_nodes,
diff --git a/MeshLib/Node.h b/MeshLib/Node.h
index 2ee62b82e039a256d3f7df836a636fa1423a6e09..4a3f465321c5cbe4f690f47f497a897c58e826d3 100644
--- a/MeshLib/Node.h
+++ b/MeshLib/Node.h
@@ -69,12 +69,6 @@ public:
     /// Get number of elements the node is part of.
     std::size_t getNumberOfElements() const { return _elements.size(); }
 
-    /// Shift the node according to the displacement vector v.
-    Node operator-(MathLib::Vector3 const& v) const
-    {
-        return Node(_x[0]-v[0], _x[1]-v[1], _x[2]-v[2]);
-    }
-
 protected:
     /// Update coordinates of a node.
     /// This method automatically also updates the areas/volumes of all connected elements.