diff --git a/bin/install.pike b/bin/install.pike
index 44e67a0d996ae058febef0f4bd3120804e7b30f1..507981497d35873e0040351fd8c988f1e4ebf214 100644
--- a/bin/install.pike
+++ b/bin/install.pike
@@ -326,7 +326,7 @@ class Dialog
     int height = 33;
     int transparent = 1;
     string font = "\\VSI_MS_Sans_Serif16.0_1_0";
-    static void create()
+    protected void create()
     {
       text = banner;
     }
@@ -514,7 +514,7 @@ class Dialog
     return res;
   }
 
-  static void create()
+  protected void create()
   {
     // NOTE: __INIT must have finished before the objects are cloned.
     controls = ({
@@ -578,7 +578,7 @@ class ExitDialog
       "could be installed. You need to restart the installer to try again.";
   }
 
-  static void create()
+  protected void create()
   {
     ::create();
     controls += ({ BodyText() });
@@ -663,7 +663,7 @@ class FolderDialog
     }
   }
 
-  static void create()
+  protected void create()
   {
     ::create();
     controls += ({
@@ -693,7 +693,7 @@ class ProgressDialog
     return res;
   }
 
-  static void create()
+  protected void create()
   {
     ::create();
     controls += ({
diff --git a/bin/mkpackage.pike b/bin/mkpackage.pike
index 03a28ff0eb464e2821d8e27ccf54acf1af9f681e..1316ee3f2ebcfc2b1a52e6103c1ac585652041eb 100644
--- a/bin/mkpackage.pike
+++ b/bin/mkpackage.pike
@@ -35,25 +35,25 @@ string sh_quote(string s)
 
 class Package
 {
-  static string my_name;
-  static string pike_filename; 
-  static string install_filename; 
-  static string extra_help; 
-  static string extra_advanced_help; 
-  static string extra_flags;
-  static string extra_license;
-  static string extra_version;
+  protected string my_name;
+  protected string pike_filename;
+  protected string install_filename;
+  protected string extra_help;
+  protected string extra_advanced_help;
+  protected string extra_flags;
+  protected string extra_license;
+  protected string extra_version;
 
-  static private mapping(array(string):string) options;
+  protected private mapping(array(string):string) options;
   
-  static void create(string _my_name,
-		     string _pike_filename,
-		     string _install_filename,
-		     string _extra_help,
-		     string _extra_advanced_help,
-		     string _extra_flags,
-		     string _extra_license,
-		     string _extra_version)
+  protected void create(string _my_name,
+			string _pike_filename,
+			string _install_filename,
+			string _extra_help,
+			string _extra_advanced_help,
+			string _extra_flags,
+			string _extra_license,
+			string _extra_version)
   {
     my_name             = _my_name;
     pike_filename       = _pike_filename;
@@ -132,9 +132,9 @@ class Package
      "EXIT=yes" ]);
   }
   
-  static private array(string) packages = ({});
+  protected private array(string) packages = ({});
   
-  static private string unique_name(int c)
+  protected private string unique_name(int c)
   {
     return sprintf("%ctmP%07x", c, random(0xfffffff));
   }
diff --git a/bin/mktreeopt.pike b/bin/mktreeopt.pike
index a81b9418269a96ac850bb095fdf6b7edad03e7c1..0d34ed5b27ff31ad91b5d634e811cb1d910dd623 100644
--- a/bin/mktreeopt.pike
+++ b/bin/mktreeopt.pike
@@ -935,7 +935,7 @@ constant ANY = 8;
 constant ANY_CAR = 9;
 constant ANY_CDR = 10;
 
-static int label_cnt;
+protected int label_cnt;
 
 int debug;