diff --git a/dlls/krnl386.exe16/instr.c b/dlls/krnl386.exe16/instr.c index 459885da340..b44bd55325e 100644 --- a/dlls/krnl386.exe16/instr.c +++ b/dlls/krnl386.exe16/instr.c @@ -194,7 +194,7 @@ static BYTE *INSTR_GetOperandAddr( CONTEXT *context, BYTE *instr, GET_VAL( &sib, BYTE ); rm = sib & 7; ss = sib >> 6; - switch(sib >> 3) + switch((sib >> 3) & 7) { case 0: index = context->Eax; break; case 1: index = context->Ecx; break;