diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2dce6090685..d9e676ac7cd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2019-08-20  Conrad Meyer  <cem@FreeBSD.org>
+
+	* remote.c (remote_target::remote_btrace_maybe_reopen): Avoid
+	unnecessary thread walk if remote doesn't support the packet.
+
 2019-08-19  Tom Tromey  <tromey@adacore.com>
 
 	* python/py-value.c (value_has_field): Fix indentation.
diff --git a/gdb/remote.c b/gdb/remote.c
index 7ea9cd4cf06..ae06c4ba791 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -13700,6 +13700,11 @@ remote_target::remote_btrace_maybe_reopen ()
   int warned = 0;
 #endif
 
+  /* Don't bother walking the entirety of the remote thread list when
+     we know the feature isn't supported by the remote.  */
+  if (packet_support (PACKET_qXfer_btrace_conf) != PACKET_ENABLE)
+    return;
+
   scoped_restore_current_thread restore_thread;
 
   for (thread_info *tp : all_non_exited_threads ())