Index: /trunk/include/VBox/hwaccm.h
===================================================================
--- /trunk/include/VBox/hwaccm.h	(revision 17302)
+++ /trunk/include/VBox/hwaccm.h	(revision 17303)
@@ -34,4 +34,5 @@
 #include <VBox/types.h>
 #include <VBox/pgm.h>
+#include <VBox/cpum.h>
 #include <iprt/mp.h>
 
@@ -65,4 +66,12 @@
  */
 #define HWACCMIsEnabled(pVM)    ((pVM)->fHWACCMEnabled)
+
+ /**
+ * Check if the current CPU state is valid for emulating IO blocks in the recompiler
+ *
+ * @returns boolean
+ * @param   pCtx        CPU context
+ */
+#define HWACCMCanEmulateIoBlock(pCtx)    (!CPUMIsGuestInPagedProtectedModeEx(pCtx))
 
 VMMDECL(int)    HWACCMInvalidatePage(PVM pVM, RTGCPTR GCVirt);
Index: /trunk/src/VBox/VMM/HWACCM.cpp
===================================================================
--- /trunk/src/VBox/VMM/HWACCM.cpp	(revision 17302)
+++ /trunk/src/VBox/VMM/HWACCM.cpp	(revision 17303)
@@ -1204,5 +1204,5 @@
 
     /* This is primarily intended to speed up Grub, so we don't care about paged protected mode. */
-    if (!CPUMIsGuestInPagedProtectedModeEx(pCtx))
+    if (HWACCMCanEmulateIoBlock(pCtx))
     {
         Log(("HWACCMR3EmulateIoBlock -> enabled\n"));
