--- target-i386/translate.c
+++ target-i386/translate.c
@@ -5587,3 +5587,9 @@
                 case 0: /* monitor */
+                    break;
                 case 1: /* mwait */
+                    if (s->cc_op != CC_OP_DYNAMIC)
+                        gen_op_set_cc_op(s->cc_op);
+                    gen_jmp_im(s->pc - s->cs_base);
+                    gen_op_hlt();
+                    s->is_jmp = 3;
                     break;
