diff --git a/MeshLib/IO/readMeshFromFile.cpp b/MeshLib/IO/readMeshFromFile.cpp
index 9dfb54cfc3bb788de74e29b4d02c67d01920e1ca..9f0fcf9f7102e4a9168eea2909ae649fded3808c 100644
--- a/MeshLib/IO/readMeshFromFile.cpp
+++ b/MeshLib/IO/readMeshFromFile.cpp
@@ -55,27 +55,20 @@ MeshLib::Mesh* readMeshFromFile(const std::string &file_name)
     }
     else if (world_size == 1)
     {
-        MeshLib::Mesh* mesh = nullptr;
-        if (BaseLib::hasFileExtension("msh", file_name))
-        {
-            MeshLib::IO::Legacy::MeshIO meshIO;
-            mesh = meshIO.loadMeshFromFile(file_name);
-        }
-
-        if (BaseLib::hasFileExtension("vtu", file_name))
-            mesh = MeshLib::IO::VtuInterface::readVTUFile(file_name);
-
-        if (mesh == nullptr)
-        {
-            ERR("readMeshFromFile(): Unknown mesh file format in file %s.",
-                file_name.c_str());
-        }
+        MeshLib::Mesh* mesh = readMeshFromFileSerial(file_name);
         MeshLib::NodePartitionedMesh* part_mesh
                                = new MeshLib::NodePartitionedMesh(*mesh);
         delete mesh;
         return part_mesh;
     }
+    return nullptr;
 #else
+    return readMeshFromFileSerial(file_name);
+#endif
+}
+
+MeshLib::Mesh* readMeshFromFileSerial(const std::string &file_name)
+{
     if (BaseLib::hasFileExtension("msh", file_name))
     {
         MeshLib::IO::Legacy::MeshIO meshIO;
@@ -86,8 +79,9 @@ MeshLib::Mesh* readMeshFromFile(const std::string &file_name)
         return MeshLib::IO::VtuInterface::readVTUFile(file_name);
 
     ERR("readMeshFromFile(): Unknown mesh file format in file %s.", file_name.c_str());
-#endif
     return nullptr;
 }
+
+
 } // end namespace IO
 } // end namespace MeshLib
diff --git a/MeshLib/IO/readMeshFromFile.h b/MeshLib/IO/readMeshFromFile.h
index 7fa9e8fa464ded7ae3a1d0cde86278332db7f497..15801bf3747ce02609458d48dd350eb8f5b7280f 100644
--- a/MeshLib/IO/readMeshFromFile.h
+++ b/MeshLib/IO/readMeshFromFile.h
@@ -27,6 +27,7 @@ class Mesh;
 
 namespace IO
 {
+MeshLib::Mesh* readMeshFromFileSerial(const std::string &file_name);
 MeshLib::Mesh* readMeshFromFile(const std::string &file_name);
 }
 }
diff --git a/MeshLib/NodePartitionedMesh.h b/MeshLib/NodePartitionedMesh.h
index 0e323754f37b393690c78f932bc80d66b872d4f8..5cf60f536fb1892c34ef12b963109d2e9c25f343 100644
--- a/MeshLib/NodePartitionedMesh.h
+++ b/MeshLib/NodePartitionedMesh.h
@@ -43,6 +43,10 @@ class NodePartitionedMesh : public Mesh
             for (std::size_t i = 0; i < _nodes.size(); i++)
             {
                 _global_node_ids[i] = _nodes[i]->getID();
+
+                // TODO To add copying of the connected nodes (and elements)
+                //      in the copy constructor of class Node in order to
+                //      drop the following lines.
                 auto node = _nodes[i];
                 // Copy constructor of Mesh does not copy the connected
                 // nodes to node.