diff --git a/bin/mkpackage.pike b/bin/mkpackage.pike
index 9d2e71efec43263ce82ea75cf670e5ccf628a2ce..ff641e841caab1341cd91b4bad3b803a268c91bd 100644
--- a/bin/mkpackage.pike
+++ b/bin/mkpackage.pike
@@ -110,10 +110,10 @@ class Package
 		    "mkdir "+unpack_directory+"\n"
 		    "(cd "+unpack_directory+"\n"
 		    " tar xf \"$TARFILE\" $CONTENTS\n"
-		    " ./"+basename(pike_filename)+" "
-	                     "--script \"`pwd`\"/"+
-		                            basename(install_filename)+
-		    " $ARGS)\n"
+		    " eval \"./"+basename(pike_filename)+" "
+	                     "--script \\\"\\`pwd\\`/"+
+		                            basename(install_filename)+"\\\""
+		    " -- $ARGS\")\n"
 		    "rm -rf "+setup_filename+" "+unpack_directory+"\n");
     
     string bootstrap = sprintf("#!/bin/sh\n"