diff --git a/ovsdb/ovsdb-client.1.in b/ovsdb/ovsdb-client.1.in
index c15804597..7ce650159 100644
--- a/ovsdb/ovsdb-client.1.in
+++ b/ovsdb/ovsdb-client.1.in
@@ -314,8 +314,8 @@ to check for databases that have not yet been added to the server, so
 that the \fBovsdb\-client\fR semantics of acting on a default database
 do not work.
 .IP
-This command acts on a particular database server, not on a cluster,
-so \fIserver\fR must name a single server, not a comma-delimited list
+This command acts on a particular database server, as well as on a cluster,
+so \fIserver\fR can name a single server, or a comma-delimited list
 of servers.
 .SS "Testing commands"
 These commands are mostly of interest for testing the correctness
diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c
index 37cfa8b56..a33ba6165 100644
--- a/ovsdb/ovsdb-client.c
+++ b/ovsdb/ovsdb-client.c
@@ -2453,9 +2453,17 @@ do_wait(struct jsonrpc *rpc_unused OVS_UNUSED,
         ovs_fatal(0, "%s: unknown state", state);
     }
 
-    char *remote = argc > 2 ? xstrdup(argv[0]) : default_remote();
-    struct jsonrpc_session *js = jsonrpc_session_open(remote, true);
-    free(remote);
+    struct svec remotes = SVEC_EMPTY_INITIALIZER;
+    struct uuid cid = UUID_ZERO;
+
+    if (argc > 2) {
+        ovsdb_session_parse_remote(argv[0], &remotes, &cid);
+    } else {
+        svec_add_nocopy(&remotes, default_remote());
+    }
+
+    struct jsonrpc_session *js = jsonrpc_session_open_multiple(&remotes, true);
+    svec_destroy(&remotes);
 
     unsigned int seqno = 0;
     struct json *sdca_id = NULL;
