--- a/scp.c	
+++ a/scp.c	
@@ -1084,6 +1084,10 @@ sink(int argc, char **argv)
 			free(vect[0]);
 			continue;
 		}
+		if (buf[0] == 'C' && ! exists && np[strlen(np)-1] == '/') {
+			errno = ENOTDIR;
+			goto bad;
+		}
 		omode = mode;
 		mode |= S_IWUSR;
 		if ((ofd = open(np, O_WRONLY|O_CREAT, mode)) == -1) {
-- 
