diff --git a/libmat2/archive.py b/libmat2/archive.py
index 597884648d414761b919c141aed501fd9f28cce0..13f91882e39a4c126a2ee6303630012502d2b2f2 100644
--- a/libmat2/archive.py
+++ b/libmat2/archive.py
@@ -161,6 +161,7 @@ class ArchiveBasedAbstractParser(abstract.AbstractParser):
 
                 member_parser, _ = parser_factory.get_parser(full_path)  # type: ignore
                 if member_parser:
+                    member_parser.sandbox = self.sandbox
                     local_meta = {**local_meta, **member_parser.get_meta()}
 
                 if local_meta:
@@ -248,6 +249,7 @@ class ArchiveBasedAbstractParser(abstract.AbstractParser):
                             abort = True
                             continue
                     else:
+                        member_parser.sandbox = self.sandbox
                         if member_parser.remove_all() is False:
                             logging.warning("In file %s, something went wrong \
                                              with the cleaning of %s \
diff --git a/libmat2/audio.py b/libmat2/audio.py
index 13ed2914da85914484aff1a38eb26d5381e17445..4e447c51ca34ca267553e3dc1c1e0d332ba1a36d 100644
--- a/libmat2/audio.py
+++ b/libmat2/audio.py
@@ -82,6 +82,7 @@ class FLACParser(MutagenParser):
             with open(fname, 'wb') as f:
                 f.write(picture.data)
             p, _ = parser_factory.get_parser(fname)  # type: ignore
+            p.sandbox = self.sandbox
             # Mypy chokes on ternaries :/
             meta[name] = p.get_meta() if p else 'harmful data'  # type: ignore
             os.remove(fname)