diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H
index c5ad93b81efba3bbd9459c053f6bd5c7e7540270..de4417b30d0b381a910bfdfb8ced49ede5088c43 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2011-2017 OpenFOAM Foundation
-    Copyright (C) 2018-2021 OpenCFD Ltd.
+    Copyright (C) 2018-2023 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -395,12 +395,12 @@ public:
 
             //- Collect indirect data in processor order on master
             //  Offsets needed on master only.
-            template<class Type, class Addr>
+            template<class ProcIDsContainer, class Type, class Addr>
             static void gather
             (
                 const labelUList& offsets,
                 const label comm,       //!< communicator
-                const UList<int>& procIDs,
+                const ProcIDsContainer& procIDs,
                 const IndirectListBase<Type, Addr>& fld,
                 List<Type>& allFld,
                 const int tag = UPstream::msgType(),
diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C
index f8676ace535e82215da259f619b134bdd743f8d7..2e5a92ed983960808befaac137989400aed9ef71 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2013-2017 OpenFOAM Foundation
-    Copyright (C) 2019-2021 OpenCFD Ltd.
+    Copyright (C) 2019-2023 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -225,12 +225,12 @@ void Foam::globalIndex::gather
 }
 
 
-template<class Type, class Addr>
+template<class ProcIDsContainer, class Type, class Addr>
 void Foam::globalIndex::gather
 (
     const labelUList& off,
     const label comm,
-    const UList<int>& procIDs,
+    const ProcIDsContainer& procIDs,
     const IndirectListBase<Type, Addr>& fld,
     List<Type>& allFld,
     const int tag,
@@ -302,7 +302,7 @@ void Foam::globalIndex::gather
     gather
     (
         comm,
-        UPstream::procID(comm),
+        UPstream::allProcs(comm),   // All communicator ranks
         fld,
         allFld,
         tag,
@@ -325,7 +325,7 @@ void Foam::globalIndex::gather
     (
         offsets_,
         comm,
-        UPstream::procID(comm),
+        UPstream::allProcs(comm),   // All communicator ranks
         fld,
         allFld,
         tag,
@@ -370,7 +370,7 @@ void Foam::globalIndex::gather
     gather
     (
         comm,
-        UPstream::procID(comm),
+        UPstream::allProcs(comm),   // All communicator ranks
         fld,
         allFld,
         tag,
@@ -658,7 +658,7 @@ void Foam::globalIndex::scatter
     (
         offsets_,
         comm,
-        UPstream::procID(comm),
+        UPstream::allProcs(comm),   // All communicator ranks
         allFld,
         fld,
         tag,
diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
index 0f2ab38b604a62d0698298b00ec695a580afcde1..661a7bcdd561705fa674337530cef41112365185 100644
--- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
+++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
@@ -1845,7 +1845,7 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs
 //        //globalBorderTris.gather
 //        //(
 //        //    UPstream::worldComm,
-//        //    UPstream::procID(Pstream::worldComm),
+//        //    UPstream::allProcs(UPstream::worldComm),
 //        //    globalBorderCentres
 //        //);
 //        pointField globalBorderCentres(allCentres);
@@ -1893,7 +1893,7 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs
 //        //globalBorderTris.scatter
 //        //(
 //        //    UPstream::worldComm,
-//        //    UPstream::procID(Pstream::worldComm),
+//        //    UPstream::allProcs(UPstream::worldComm),
 //        //    isMasterPoint
 //        //);
 //        //boolList isMasterBorder(s.size(), false);
@@ -1990,7 +1990,7 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs
             globalTris().gather
             (
                 UPstream::worldComm,
-                UPstream::procID(Pstream::worldComm),
+                UPstream::allProcs(UPstream::worldComm),
                 allCentres
             );
         }
@@ -2040,7 +2040,7 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs
             globalTris().scatter
             (
                 UPstream::worldComm,
-                UPstream::procID(Pstream::worldComm),
+                UPstream::allProcs(UPstream::worldComm),
                 allDistribution,
                 distribution
             );