Index: /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp	(revision 29550)
+++ /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp	(revision 29551)
@@ -1823,5 +1823,5 @@
     {
         case GMMACCOUNT_BASE:
-            if (RT_UNLIKELY(pGVM->gmm.s.Allocated.cBasePages + pGVM->gmm.s.cBalloonedPages + pGVM->gmm.s.cSharedPages + cPages > pGVM->gmm.s.Reserved.cBasePages))
+            if (RT_UNLIKELY(pGVM->gmm.s.Allocated.cBasePages + pGVM->gmm.s.cBalloonedPages + cPages > pGVM->gmm.s.Reserved.cBasePages))
             {
                 Log(("gmmR0AllocatePages:Base: Reserved=%#llx Allocated+Ballooned+Requested=%#llx+%#llx+%#x!\n",
@@ -2668,4 +2668,5 @@
     pPage->Shared.cRefs++;
     pGVM->gmm.s.cSharedPages++;
+    pGVM->gmm.s.Allocated.cBasePages++;
 }
 #endif
@@ -2711,5 +2712,5 @@
     {
         case GMMACCOUNT_BASE:
-            if (RT_UNLIKELY(pGVM->gmm.s.Allocated.cBasePages + pGVM->gmm.s.cSharedPages < cPages))
+            if (RT_UNLIKELY(pGVM->gmm.s.Allocated.cBasePages < cPages))
             {
                 Log(("gmmR0FreePages: allocated=%#llx cPages=%#x!\n", pGVM->gmm.s.Allocated.cBasePages, cPages));
@@ -2743,5 +2744,4 @@
     int rc = VINF_SUCCESS;
     uint32_t iPage;
-    uint32_t cSharedPages = 0;
     for (iPage = 0; iPage < cPages; iPage++)
     {
@@ -2770,5 +2770,4 @@
                 Assert(pGVM->gmm.s.cSharedPages);
                 pGVM->gmm.s.cSharedPages--;
-                cSharedPages++;
                 Assert(pPage->Shared.cRefs);
                 if (!--pPage->Shared.cRefs)
@@ -2791,6 +2790,4 @@
     }
 
-    Assert(iPage > cSharedPages);
-
     /*
      * Update the account.
@@ -2798,5 +2795,5 @@
     switch (enmAccount)
     {
-        case GMMACCOUNT_BASE:   pGVM->gmm.s.Allocated.cBasePages   -= (iPage - cSharedPages); break;
+        case GMMACCOUNT_BASE:   pGVM->gmm.s.Allocated.cBasePages   -= iPage; break;
         case GMMACCOUNT_SHADOW: pGVM->gmm.s.Allocated.cShadowPages -= iPage; break;
         case GMMACCOUNT_FIXED:  pGVM->gmm.s.Allocated.cFixedPages  -= iPage; break;
