diff --git a/gdb/remote.c b/gdb/remote.c
index 92fe518c6de..ecddb9c587d 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -1442,6 +1442,8 @@ class remote_target : public process_stratum_target
 
   void check_binary_download (CORE_ADDR addr);
 
+  bool always_non_stop_p () override;
+
   target_xfer_status remote_write_bytes_aux (const char *header,
 					     CORE_ADDR memaddr,
 					     const gdb_byte *myaddr,
@@ -9877,6 +9879,16 @@ remote_target::check_binary_download (CORE_ADDR addr)
     }
 }
 
+/* Determine whether the remote target natively operates in non-stop mode.
+   Returns true if the target announced QNonStop support for asynchronous
+   execution and stop notifications.  */
+
+bool
+remote_target::always_non_stop_p ()
+{
+  return m_features.packet_support (PACKET_QNonStop) == PACKET_ENABLE;
+}
+
 /* Helper function to resize the payload in order to try to get a good
    alignment.  We try to write an amount of data such that the next write will
    start on an address aligned on REMOTE_ALIGN_WRITES.  */
