diff --git a/src/TNL/Meshes/TypeResolver/TypeResolver_impl.h b/src/TNL/Meshes/TypeResolver/TypeResolver_impl.h
index d45016af193656cb6094f3782b304a92c224bf2a..b094ffcaf6c928cc45b2185b7eb872a479ca32b8 100644
--- a/src/TNL/Meshes/TypeResolver/TypeResolver_impl.h
+++ b/src/TNL/Meshes/TypeResolver/TypeResolver_impl.h
@@ -19,6 +19,7 @@
 #include <TNL/Meshes/Readers/VTKReader.h>
 #include <TNL/Meshes/TypeResolver/GridTypeResolver.h>
 #include <TNL/Meshes/TypeResolver/MeshTypeResolver.h>
+#include <TNL/Communicators/NoDistrCommunicator.h>
 
 // TODO: implement this in TNL::String
 inline bool ends_with( const std::string& value, const std::string& ending )
@@ -278,5 +279,16 @@ decomposeMesh( const Config::ParameterContainer& parameters,
       return true;
 }
 
+// convenient overload for non-distributed meshes
+template< typename Mesh >
+bool
+loadMesh( const String& fileName, Mesh& mesh )
+{
+   using Communicator = TNL::Communicators::NoDistrCommunicator;
+   using DistributedMesh = DistributedMeshes::DistributedMesh< Mesh>;
+   DistributedMesh distributedMesh;
+   return loadMesh< Communicator >( fileName, mesh, distributedMesh );
+}
+
 } // namespace Meshes
 } // namespace TNL