diff --git a/ldb/breakpoint.c b/ldb/breakpoint.c
index 611e36e7534bae359eb5aac6b21a6909f513e383..1fcf701ad67393b957cf40fa30112782b512e901 100644
--- a/ldb/breakpoint.c
+++ b/ldb/breakpoint.c
@@ -38,7 +38,14 @@ inst breakpoint_install(code_obj, pc_offset)
      lispobj code_obj;
      int pc_offset;
 {
-    return swap_insts(code_obj, pc_offset, (trap_Breakpoint << 16) | 0xd);
+    return swap_insts(code_obj, pc_offset,
+#ifdef mips
+		      (trap_Breakpoint << 16) | 0xd
+#endif
+#ifdef sparc
+		      trap_Breakpoint
+#endif
+	);
 }
 
 void breakpoint_remove(code_obj, pc_offset, orig_inst)