Index: /trunk/src/VBox/VMM/EM.cpp
===================================================================
--- /trunk/src/VBox/VMM/EM.cpp	(revision 20071)
+++ /trunk/src/VBox/VMM/EM.cpp	(revision 20072)
@@ -872,4 +872,10 @@
 VMMR3DECL(void) EMR3RemLock(PVM pVM)
 {
+#ifdef IN_RING3
+    if (!PDMCritSectIsInitialized(&pVM->em.s.CritSectREM))
+        return;     /* early init */
+#else
+    Assert(PDMCritSectIsInitialized(&pVM->em.s.CritSectREM));
+#endif
     int rc = PDMCritSectEnter(&pVM->em.s.CritSectREM, VERR_SEM_BUSY);
     AssertMsg(rc == VINF_SUCCESS, ("%Rrc\n", rc));
@@ -883,4 +889,10 @@
 VMMR3DECL(void) EMR3RemUnlock(PVM pVM)
 {
+#ifdef IN_RING3
+    if (!PDMCritSectIsInitialized(&pVM->em.s.CritSectREM))
+        return;     /* early init */
+#else
+    Assert(PDMCritSectIsInitialized(&pVM->em.s.CritSectREM));
+#endif
     PDMCritSectLeave(&pVM->em.s.CritSectREM);
 }
