diff --git a/src/cpu/x86seg.c b/src/cpu/x86seg.c index c50c97a39..d912a755b 100644 --- a/src/cpu/x86seg.c +++ b/src/cpu/x86seg.c @@ -2401,7 +2401,7 @@ taskswitch286(uint16_t seg, uint16_t *segdat, int is32) ldt.base |= (readmemb(0, templ + 7) << 24); } - if (!(new_cs & 0xfff8)) { + if (!(new_cs & 0xfff8) && !(new_cs & 0x0004)) { x86ts(NULL, 0); return; }