diff --git a/python_payload/st3m/application.py b/python_payload/st3m/application.py
index c8a777ab7d97083afad1829f57b54548188ae85b..ee8a882921f77ef2ea498577a41621865a4c45f4 100644
--- a/python_payload/st3m/application.py
+++ b/python_payload/st3m/application.py
@@ -109,9 +109,12 @@ class BundleMetadata:
         try:
             t = toml.load(f)
         except toml.TomlDecodeError as e:
+            f.close()
             raise BundleMetadataCorrupt(str(e))
         except Exception as e:
+            f.close()
             raise BundleMetadataCorrupt(str(e))
+        f.close()
 
         if "app" not in t or type(t["app"]) != dict:
             raise BundleMetadataBroken("missing app section")