diff --git a/src/mesh/GmshReader.cpp b/src/mesh/GmshReader.cpp
index 3cbbddfdf22d05a470da4be2f2594a2e7be4eee1..3f1af1a6c76c5b104f7e9ddf280c1790e2717bc7 100644
--- a/src/mesh/GmshReader.cpp
+++ b/src/mesh/GmshReader.cpp
@@ -233,7 +233,7 @@ void GmshReader::_dispatch()
 GmshReader::GmshReader(const std::string& filename)
     : m_filename(filename)
 {
-  if (commRank() == 1) {
+  if (commRank() == commSize()-1) {
     try {
       m_fin.open(m_filename);
       if (not m_fin) {