diff --git a/scp.c b/scp.c
index 7e44f54eb327c89b5034d339bb903fb22201a121..5690330e73a9c59982d795903f1164fb2a61d699 100644
--- a/scp.c
+++ b/scp.c
@@ -841,7 +841,7 @@ sink(int argc, char **argv)
 
 #define	atime	tv[0]
 #define	mtime	tv[1]
-#define	SCREWUP(str)	{ why = str; goto screwup; }
+#define	SCREWUP(str)	do { why = str; goto screwup; } while (0)
 
 	setimes = targisdir = 0;
 	mask = umask(0);