diff -ru linux/kernel/vm86.c linux.new/kernel/vm86.c
--- linux/kernel/vm86.c	Fri Apr 29 23:32:13 1994
+++ linux.new/kernel/vm86.c	Fri Apr 29 23:32:50 1994
@@ -272,7 +272,7 @@
 	if (seg == BIOSSEG || regs->cs == BIOSSEG ||
 	    is_revectored(i, &current->vm86_info->int_revectored))
 		return_to_32bit(regs, VM86_INTx + (i << 8));
-	if (i==0x21 && is_revectored((regs->eax >> 4) & 0xff,&current->vm86_info->int21_revectored)) {
+	if (i==0x21 && is_revectored((regs->eax >> 8) & 0xff,&current->vm86_info->int21_revectored)) {
 		return_to_32bit(regs, VM86_INTx + (i << 8));
 	}
 	pushw(ssp, sp, get_vflags(regs));
