Index: /trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp	(revision 15970)
+++ /trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp	(revision 15971)
@@ -1192,4 +1192,18 @@
                     pCtx->gsHid.Attr.n.u2Dpl  = 0;
                     pCtx->ssHid.Attr.n.u2Dpl  = 0;
+
+                    /* The limit must correspond to the granularity bit. */
+                    if (!pCtx->csHid.Attr.n.u1Granularity)
+                        pCtx->csHid.u32Limit &= 0xffff;
+                    if (!pCtx->dsHid.Attr.n.u1Granularity)
+                        pCtx->dsHid.u32Limit &= 0xffff;
+                    if (!pCtx->esHid.Attr.n.u1Granularity)
+                        pCtx->esHid.u32Limit &= 0xffff;
+                    if (!pCtx->fsHid.Attr.n.u1Granularity)
+                        pCtx->fsHid.u32Limit &= 0xffff;
+                    if (!pCtx->gsHid.Attr.n.u1Granularity)
+                        pCtx->gsHid.u32Limit &= 0xffff;
+                    if (!pCtx->ssHid.Attr.n.u1Granularity)
+                        pCtx->ssHid.u32Limit &= 0xffff;
                 }
                 else
