diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index f95ac4d3d8c..a6ee8c53b46 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2011-12-11  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.trace/status-stop.exp: Skip it if target doesn't support trace.
+
 2011-12-11  Joel Brobecker  <brobecker@adacore.com>
 
 	* gdb.ada/catch_ex.exp, gdb.ada/mi_catch_ex.exp: Adjust
diff --git a/gdb/testsuite/gdb.trace/status-stop.exp b/gdb/testsuite/gdb.trace/status-stop.exp
index 6c92b750bd6..74ded230fdf 100644
--- a/gdb/testsuite/gdb.trace/status-stop.exp
+++ b/gdb/testsuite/gdb.trace/status-stop.exp
@@ -27,6 +27,16 @@ if [prepare_for_testing $expfile $executable $srcfile \
     return -1
 }
 
+if ![runto_main] {
+    fail "Can't run to main to check for trace support"
+    return -1
+}
+
+if ![gdb_target_supports_trace] {
+    unsupported "target does not support trace"
+    return -1; 
+}
+
 # Verify that the sequence of commands "tstart tstop tstart" works well.
 
 proc test_tstart_tstop_tstart { } {