Index: openssh-9.6p1/scp.c
===================================================================
--- openssh-9.6p1.orig/scp.c
+++ openssh-9.6p1/scp.c
@@ -1682,8 +1682,10 @@ sink(int argc, char **argv, const char *
 
 	setimes = targisdir = 0;
 	mask = umask(0);
-	if (!pflag)
+	if (!pflag) {
+		mask |= 07000;
 		(void) umask(mask);
+	}
 	if (argc != 1) {
 		run_err("ambiguous target");
 		exit(1);
