diff --git a/generate-stublib.sh b/generate-stublib.sh
index a5422b4d0ccedce014298887303d44228d0fc777..5d542138cb07dc11cc7db0cab6cf0ece77944170 100755
--- a/generate-stublib.sh
+++ b/generate-stublib.sh
@@ -34,7 +34,7 @@ dlopen_file=${proxy_src}.dlopen;
 echo -n > $symbol_file;
 echo -n > $map_file;
 
-exec >$proxy_src;
+exec >$proxy_src.tmp;
 
 cat $top/capsule-shim.h;
 
@@ -179,3 +179,5 @@ do
     echo "};";
     echo;
 done;
+
+mv "$proxy_src.tmp" "$proxy_src";