diff --git a/riscv/test/riscv32_bitmanip_instructions_test.cc b/riscv/test/riscv32_bitmanip_instructions_test.cc
index 998094e..af8749a 100644
--- a/riscv/test/riscv32_bitmanip_instructions_test.cc
+++ b/riscv/test/riscv32_bitmanip_instructions_test.cc
@@ -355,7 +355,7 @@
     T val1 = absl::Uniform(absl::IntervalClosed, bitgen_,
                            std::numeric_limits<T>::min(),
                            std::numeric_limits<T>::max());
-    T val2 = absl::Uniform(absl::IntervalClosed, bitgen_, 0, 32);
+    T val2 = absl::Uniform(absl::IntervalClosed, bitgen_, 0, 31);
     SetRegisterValues<uint32_t>({{kX1, val1}, {kX2, val2}});
     instruction_->Execute(nullptr);
     EXPECT_EQ(GetRegisterValue<uint32_t>(kX3),
@@ -371,7 +371,7 @@
     T val1 = absl::Uniform(absl::IntervalClosed, bitgen_,
                            std::numeric_limits<T>::min(),
                            std::numeric_limits<T>::max());
-    T val2 = absl::Uniform(absl::IntervalClosed, bitgen_, 0, 32);
+    T val2 = absl::Uniform(absl::IntervalClosed, bitgen_, 0, 31);
     SetRegisterValues<uint32_t>({{kX1, val1}, {kX2, val2}});
     instruction_->Execute(nullptr);
     EXPECT_EQ(GetRegisterValue<uint32_t>(kX3),
diff --git a/riscv/test/riscv_fp_test_base.h b/riscv/test/riscv_fp_test_base.h
index ed5c528..2c6d126 100644
--- a/riscv/test/riscv_fp_test_base.h
+++ b/riscv/test/riscv_fp_test_base.h
@@ -1120,7 +1120,7 @@
         if (!sign && unsigned_value > kMax) {
           flags = (uint32_t)FPExceptions::kInvalidOp;
           value = kMax;
-        } else if (sign && (unsigned_value > 0 && -unsigned_value < kMin)) {
+        } else if (sign && (unsigned_value > 0 && unsigned_value > kMax)) {
           // Negative value but exceeds the min value.
           flags = (uint32_t)FPExceptions::kInvalidOp;
           value = kMin;
