diff --git a/sim/kelvin_top.cc b/sim/kelvin_top.cc
index 8cdaf64..ffcd3c3 100644
--- a/sim/kelvin_top.cc
+++ b/sim/kelvin_top.cc
@@ -151,7 +151,7 @@
         static_cast<uint64_t>(
             mpact::sim::riscv::ExceptionCode::kIllegalInstruction)) {
       std::cerr << "Illegal instruction at 0x" << std::hex << epc << std::endl;
-      RequestHalt(HaltReason::kSoftwareBreakpoint, nullptr);
+      RequestHalt(HaltReason::kUserRequest, nullptr);
       return true;
     }
     return false;
diff --git a/sim/test/BUILD b/sim/test/BUILD
index c365fd9..f0c8147 100644
--- a/sim/test/BUILD
+++ b/sim/test/BUILD
@@ -5,6 +5,7 @@
     "testfiles/rv32i.elf",
     "testfiles/rv32m.elf",
     "testfiles/rv32soft_fp.elf",
+    "testfiles/rv32uf_fadd.elf",
 ])
 
 cc_test(
@@ -54,6 +55,7 @@
         "testfiles/rv32i.elf",
         "testfiles/rv32m.elf",
         "testfiles/rv32soft_fp.elf",
+        "testfiles/rv32uf_fadd.elf",
     ],
     deps = [
         "//sim:kelvin_top",
diff --git a/sim/test/kelvin_top_test.cc b/sim/test/kelvin_top_test.cc
index 807b6b5..6b218c9 100644
--- a/sim/test/kelvin_top_test.cc
+++ b/sim/test/kelvin_top_test.cc
@@ -28,6 +28,7 @@
 constexpr char kRV32iElfFileName[] = "rv32i.elf";
 constexpr char kRV32mElfFileName[] = "rv32m.elf";
 constexpr char kRV32SoftFloatElfFileName[] = "rv32soft_fp.elf";
+constexpr char kRV32fElfFileName[] = "rv32uf_fadd.elf";
 
 // The depot path to the test directory.
 constexpr char kDepotPath[] = "sim/test/";
@@ -160,6 +161,21 @@
   absl::SetFlag(&FLAGS_use_semihost, false);
 }
 
+// Runs the rv32f program (not supported)
+TEST_F(KelvinTopTest, RunIllegalRV32FProgram) {
+  LoadFile(kRV32fElfFileName);
+  testing::internal::CaptureStderr();
+  EXPECT_OK(kelvin_top_->WriteRegister("pc", entry_point_));
+  EXPECT_OK(kelvin_top_->Run());
+  EXPECT_OK(kelvin_top_->Wait());
+  auto halt_result = kelvin_top_->GetLastHaltReason();
+  CHECK_OK(halt_result);
+  EXPECT_EQ(static_cast<int>(halt_result.value()),
+            static_cast<int>(HaltReason::kUserRequest));
+  const std::string stderr_str = testing::internal::GetCapturedStderr();
+  EXPECT_THAT(stderr_str, testing::HasSubstr("Illegal instruction at 0x"));
+}
+
 // Steps through the program from beginning to end.
 TEST_F(KelvinTopTest, StepProgram) {
   LoadFile(kRV32imfElfFileName);
diff --git a/sim/test/testfiles/rv32uf_fadd.elf b/sim/test/testfiles/rv32uf_fadd.elf
new file mode 100644
index 0000000..5bd93a7
--- /dev/null
+++ b/sim/test/testfiles/rv32uf_fadd.elf
Binary files differ
