diff --git a/gcc/ifcvt.cc b/gcc/ifcvt.cc
index 7f5af2ca915..c151146c1b2 100644
--- a/gcc/ifcvt.cc
+++ b/gcc/ifcvt.cc
@@ -5180,7 +5180,7 @@ find_if_header (basic_block test_bb, int pass)
       && cond_exec_find_if_block (&ce_info))
     goto success;
 
-  if (targetm.have_trap ()
+  if (!reload_completed && targetm.have_trap ()
       && optab_handler (ctrap_optab, word_mode) != CODE_FOR_nothing
       && find_cond_trap (test_bb, then_edge, else_edge))
     goto success;
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr105192.c b/gcc/testsuite/gcc.c-torture/compile/pr105192.c
new file mode 100644
index 00000000000..0cc61505218
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr105192.c
@@ -0,0 +1,9 @@
+/* { dg-additional-options "-fno-if-conversion -fharden-compares" } */
+
+int a, b;
+
+void
+foo (void)
+{
+  b = a % 0 > 0;
+}
