diff --git a/ogscm/app/builder.py b/ogscm/app/builder.py
index 0bb9c65da244cbb5a74a8aa02f6917c582ea00c9..5df3533e8bbf9940a8d3e214ac3e681838864ef6 100644
--- a/ogscm/app/builder.py
+++ b/ogscm/app/builder.py
@@ -77,3 +77,13 @@ class builder(object):
                 shell=True,
             )
             print(f"Wrote image file {self.image_file}")
+
+        bundle_file = f"{self.image_file[:-5]}.run"
+        if self.__args.enroot_bundle and (
+            not os.path.exists(bundle_file) or self.__args.force
+        ):
+            subprocess.run(
+                f"cd {self.__cwd} && rm -f {bundle_file} && enroot bundle -o {bundle_file} {self.image_file}",
+                shell=True,
+            )
+            print(f"Wrote bundle file {bundle_file}")
diff --git a/ogscm/cli.py b/ogscm/cli.py
index c2c6c8e7563e11fa1d3b862ecd25ee6df53c963e..725a0f9de762680c02aef5d681d3c811b6904675 100644
--- a/ogscm/cli.py
+++ b/ogscm/cli.py
@@ -110,6 +110,12 @@ def main():  # pragma: no cover
         action="store_true",
         help="Convert Docker image to enroot image",
     )
+    build_g.add_argument(
+        "--enroot-bundle",
+        dest="enroot_bundle",
+        action="store_true",
+        help="Convert enroot image to enroot bundle",
+    )
     build_g.add_argument(
         "--enroot_file",
         type=str,