diff --git a/target-mips/translate.c b/target-mips/translate.c
index b3b8dc6..a39e118 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -1366,8 +1366,9 @@ static inline void check_cop1x(DisasContext *ctx)
 
 static inline void check_cp1_64bitmode(DisasContext *ctx)
 {
-    if (unlikely(~ctx->hflags & (MIPS_HFLAG_F64 | MIPS_HFLAG_COP1X)))
+    if (unlikely(!(ctx->hflags & MIPS_HFLAG_F64))) {
         generate_exception(ctx, EXCP_RI);
+    }
 }
 
 /*
