| diff --git a/scp.c b/scp.c |
| index 60682c68..9344806e 100644 |
| |
| |
| @@ -714,7 +714,9 @@ toremote(int argc, char **argv) |
| addargs(&alist, "%s", host); |
| addargs(&alist, "%s", cmd); |
| addargs(&alist, "%s", src); |
| - addargs(&alist, "%s%s%s:%s", |
| + addargs(&alist, |
| + /* IPv6 address needs to be enclosed with sqare brackets */ |
| + strchr(host, ':') != NULL ? "%s%s[%s]:%s" : "%s%s%s:%s", |
| tuser ? tuser : "", tuser ? "@" : "", |
| thost, targ); |
| if (do_local_cmd(&alist) != 0) |
| |