Index: /trunk/src/VBox/VMM/PGMPhys.cpp
===================================================================
--- /trunk/src/VBox/VMM/PGMPhys.cpp	(revision 30815)
+++ /trunk/src/VBox/VMM/PGMPhys.cpp	(revision 30816)
@@ -3358,4 +3358,8 @@
     if (pVM->pgm.s.ChunkR3Map.c >= pVM->pgm.s.ChunkR3Map.cMax)
     {
+        /* Flush the pgm pool cache; call the internal rendezvous handler as we're already in a rendezvous handler here. */
+        /* todo: also not really efficient to unmap a chunk that contains PD or PT pages. */
+        pgmR3PoolClearAllRendezvous(pVM, &pVM->aCpus[0], false /* no need to flush the REM TLB as we already did that above */);
+
         /*
          * Request the ring-0 part to unmap a chunk to make space in the mapping cache.
@@ -3413,8 +3417,4 @@
             /* Flush REM translation blocks. */
             REMFlushTBs(pVM);
-
-            /* Flush the pgm pool cache; call the internal rendezvous handler as we're already in a rendezvous handler here. */
-            /* todo: also not really efficient to unmap a chunk that contains PD or PT pages. */
-            pgmR3PoolClearAllRendezvous(pVM, &pVM->aCpus[0], false /* no need to flush the REM TLB as we already did that above */);
         }
     }
