diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0744c315160..a3a72fbe2e5 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-24  Marc Khouzam  <marc.khouzam@ericsson.com>
+
+	* mi/mi-main.c (mi_cmd_execute): Choose a live thread not just
+	any thread.
+
 2012-04-24  Yao Qi  <yao@codesourcery.com>
 
 	* breakpoint.c (ep_is_catchpoint): Renamed to ...
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 94e580fe27e..90fb62449a4 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -2066,7 +2066,7 @@ mi_cmd_execute (struct mi_parse *parse)
 	 provide --thread if it wishes to operate on a specific
 	 thread.  */
       if (inf->pid != 0)
-	tp = any_thread_of_process (inf->pid);
+	tp = any_live_thread_of_process (inf->pid);
       switch_to_thread (tp ? tp->ptid : null_ptid);
       set_current_program_space (inf->pspace);
     }