Index: /trunk/src/VBox/VMM/VMEmt.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMEmt.cpp	(revision 19796)
+++ /trunk/src/VBox/VMM/VMEmt.cpp	(revision 19797)
@@ -34,8 +34,4 @@
 #include <VBox/vm.h>
 #include <VBox/uvm.h>
-#include <VBox/mm.h>
-#include <VBox/pgm.h>
-#include <VBox/iom.h>
-#include <VBox/pdm.h>
 
 #include <VBox/err.h>
@@ -228,15 +224,5 @@
                 if (   EMGetState(pVCpu) == EMSTATE_GURU_MEDITATION
                     && pVM->enmVMState == VMSTATE_RUNNING)
-                {
-                    Log(("Release locks owned by this EMT\n"));
-                    /* Release owned locks to make sure other VCPUs can continue in case they were waiting for one. */
-                    MMR3ReleaseOwnedLocks(pVM);
-                    PGMR3ReleaseOwnedLocks(pVM);
-                    PDMR3ReleaseOwnedLocks(pVM);
-                    IOMR3ReleaseOwnedLocks(pVM);
-                    EMR3ReleaseOwnedLocks(pVM);
-
                     vmR3SetState(pVM, VMSTATE_GURU_MEDITATION);
-                }
             }
         }
Index: /trunk/src/VBox/VMM/VMMGuruMeditation.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMGuruMeditation.cpp	(revision 19796)
+++ /trunk/src/VBox/VMM/VMMGuruMeditation.cpp	(revision 19797)
@@ -30,4 +30,7 @@
 #include "VMMInternal.h"
 #include <VBox/vm.h>
+#include <VBox/mm.h>
+#include <VBox/iom.h>
+#include <VBox/em.h>
 
 #include <VBox/err.h>
@@ -208,4 +211,11 @@
     PCDBGFINFOHLP           pHlp = &Hlp.Core;
     vmmR3FatalDumpInfoHlpInit(&Hlp);
+
+    /* Release owned locks to make sure other VCPUs can continue in case they were waiting for one. */
+    MMR3ReleaseOwnedLocks(pVM);
+    PGMR3ReleaseOwnedLocks(pVM);
+    PDMR3ReleaseOwnedLocks(pVM);
+    IOMR3ReleaseOwnedLocks(pVM);
+    EMR3ReleaseOwnedLocks(pVM);
 
     /*
