Index: gdb/infrun.c =================================================================== RCS file: /cvs/src/src/gdb/infrun.c,v retrieving revision 1.284 diff -u -r1.284 infrun.c --- gdb/infrun.c 28 Jun 2008 09:42:15 -0000 1.284 +++ gdb/infrun.c 8 Jul 2008 02:34:39 -0000 @@ -2118,7 +2118,11 @@ { ecs->random_signal = 0; if (!breakpoint_thread_match (stop_pc, ecs->ptid)) - thread_hop_needed = 1; + /* If the thread is currently single-stepping, whether it will + step over the breakpoint or not should be determined later. */ + if (!ptid_equal (ecs->ptid, inferior_ptid) + || !currently_stepping (ecs)) + thread_hop_needed = 1; } else if (singlestep_breakpoints_inserted_p) {