diff --git a/bin/mkpackage.pike b/bin/mkpackage.pike
index 7484225fac183bf8c57e0c4679c0ac983c900813..f7a9b31db62a29b8bd1c6b12bc430abe1da3dfc9 100644
--- a/bin/mkpackage.pike
+++ b/bin/mkpackage.pike
@@ -74,6 +74,9 @@ class Package
     string setup_filename = unique_name('S')+".sh";
     string unpack_directory = unique_name('D');
 
+    string features = Process.popen(pike_filename+" --features");
+    options[({ "--features" })] = "echo \""+(features || "")+"\"\nexit";
+    
     string setup = ("#!/bin/sh\n"
 		    "TARFILE=\"$1\"; shift; ARGS=''\n"
 		    "CONTENTS=`tar tf \"$TARFILE\" | sed -ne '/^"+
@@ -117,9 +120,6 @@ class Package
 		    
     rmrf("#!", setup_filename);
 
-    string features = Process.popen(pike_filename+" --features");
-    options[({ "--features" })] = "echo \""+(features || "")+"\"\nexit";
-    
     if(!Stdio.write_file(setup_filename, setup))
       ERR(("Failed to write setup script %O., ", setup_filename));
     chmod(setup_filename, 0755);