diff --git a/src/TNL/Meshes/Readers/VTKReader.h b/src/TNL/Meshes/Readers/VTKReader.h
index 18cff3f20c94a362a6e7e819854df26f1eba97ed..8f8111073e2962a8cc64e0a308435e2dd42c0ea7 100644
--- a/src/TNL/Meshes/Readers/VTKReader.h
+++ b/src/TNL/Meshes/Readers/VTKReader.h
@@ -419,6 +419,8 @@ protected:
       // check header
       getline( str, line );
       static const std::string prefix = "# vtk DataFile Version ";
+      if( line.size() < prefix.size() )
+         throw MeshReaderError( "VTKReader", "failed to parse the VTK file header: unsupported VTK header '" + line + "'" );
       formatVersion = line.substr( prefix.length() );
       if( line.substr( 0, prefix.length() ) != prefix )
          throw MeshReaderError( "VTKReader", "failed to parse the VTK file header: unsupported VTK header '" + line + "'" );