diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C
index 125fa4cf5d5ea592ba61380843dae41dff60816a..1a8f2ac6592a691e4e13cd5790082a48586723ed 100644
--- a/src/Pstream/mpi/UPstream.C
+++ b/src/Pstream/mpi/UPstream.C
@@ -307,14 +307,15 @@ void Foam::UPstream::exit(int errnum)
     }
 
 
-    if (PstreamGlobals::outstandingRequests_.size())
+    // Warn about any outstanding requests
     {
         label nOutstanding = 0;
-        forAll(PstreamGlobals::outstandingRequests_, i)
+
+        forAll(PstreamGlobals::outstandingRequests_, requestID)
         {
-            if (findIndex(PstreamGlobals::freedRequests_, i) == -1)
+            if (!PstreamGlobals::freedRequests_.found(requestID))
             {
-                nOutstanding++;
+                ++nOutstanding;
             }
         }