diff --git a/src/pkg/syscall/mkall.sh b/src/pkg/syscall/mkall.sh
index 9e2d98f0d29cffb311020834d5b8d4ac3481956f..4bd562eb5dab24f3d80db6b7506a148fa93cdc65 100755
--- a/src/pkg/syscall/mkall.sh
+++ b/src/pkg/syscall/mkall.sh
@@ -87,7 +87,8 @@ case "$1" in
 -syscalls)
 	for i in zsyscall*go
 	do
-		sed 1q $i | sed 's;^// ;;' | sh | gofmt >_$i && mv _$i $i
+		sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i
+		rm _$i
 	done
 	exit 0
 	;;