diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C
index 7a5332ce81076cf03d8ced93dbb752d11bcf2dec..07f3765528a62663abe921c81f7125511e4c34f7 100644
--- a/src/Pstream/mpi/UPstream.C
+++ b/src/Pstream/mpi/UPstream.C
@@ -1091,11 +1091,12 @@ void Foam::UPstream::allocatePstreamCommunicator
            &PstreamGlobals::MPIGroups_[index]
         );
 
-        // Create new communicator
-        MPI_Comm_create
+        // Create new communicator for this group
+        MPI_Comm_create_group
         (
             PstreamGlobals::MPICommunicators_[parentIndex],
             PstreamGlobals::MPIGroups_[index],
+            Pstream::msgType(),
            &PstreamGlobals::MPICommunicators_[index]
         );