diff --git a/installsystems/image.py b/installsystems/image.py
index ce7ef4e6dfb28317a94f3bf10ba8c36a6f6de75a..0c44d7660e9b933ce02b0e8354a69aa2c2e9e855 100644
--- a/installsystems/image.py
+++ b/installsystems/image.py
@@ -329,7 +329,10 @@ class PackageImage(Image):
         # order matter!
         l_scripts.sort()
         # run scripts
-        for n_scripts in l_scripts:
-            arrow(os.path.basename(n_scripts), 2, self.verbose)
-            s_scripts = self.tarball.get_str(n_scripts)
-            exec(s_scripts, gl, dict())
+        try:
+            for n_scripts in l_scripts:
+                arrow(os.path.basename(n_scripts), 2, self.verbose)
+                s_scripts = self.tarball.get_str(n_scripts)
+                exec(s_scripts, gl, dict())
+        except Exception as e:
+            raise Exception("%s fail: %s" % (n_scripts, e))