diff --git a/GenericIO.cxx b/GenericIO.cxx
index 4ab1cb31beb6c0296f87665ecf7f3196e89a3d5a..08993408f80898413fcceb56bc1d67f01e4ebf81 100644
--- a/GenericIO.cxx
+++ b/GenericIO.cxx
@@ -395,7 +395,11 @@ static int GetSZDT(GenericIO::Variable &Var) {
     return -1;
 }
 
-void GenericIO::setFH(int R) {
+void GenericIO::setFH(
+#ifndef GENERICIO_NO_MPI
+  MPI_Comm R
+#endif
+  ) {
 #ifndef GENERICIO_NO_MPI
   if (FileIOType == FileIOMPI)
     FH.get() = new GenericFileIO_MPI(R);
@@ -1051,8 +1055,6 @@ void GenericIO::openAndReadHeader(MismatchBehavior MB, int EffRank, bool CheckPa
     setFH(
 #ifndef GENERICIO_NO_MPI
       MPI_COMM_SELF
-#else
-      0
 #endif
     );
 
diff --git a/GenericIO.h b/GenericIO.h
index f4f471b719e2f478cec1e87a22f3d51a308a563e..2e893a35c76922c54ab9a87529580e15f230bb39 100644
--- a/GenericIO.h
+++ b/GenericIO.h
@@ -638,7 +638,11 @@ public:
     FHWCnt *CountedFH;
   } FH;
 
-  void setFH(int R);
+  void setFH(
+#ifndef GENERICIO_NO_MPI
+    MPI_Comm R
+#endif
+  );
 };
 
 } /* END namespace cosmotk */