diff --git a/installsystems/tools.py b/installsystems/tools.py
index 6bd512d48c6875ac8df74cab9c3eac185d2fc1bb..ede3ae7dba8e074fee826007fb68cb758546e3ac 100644
--- a/installsystems/tools.py
+++ b/installsystems/tools.py
@@ -369,10 +369,12 @@ def prepare_chroot(path, mount=True):
         # create a chroot header
         try: open(os.path.join(path, "etc/debian_chroot"), "w").write("CHROOT")
         except: pass
-        # fake policy-d
+        # fake policy-rc.d
         policy_path = os.path.join(path, "usr/sbin/policy-rc.d")
         try: open(policy_path, "w").write("#!/bin/bash\nexit 42\n")
         except: pass
+        # policy-rc.d needs to be executable
+        chrights(policy_path, mode=0755)
 
 def unprepare_chroot(path, mount=True):
     '''