diff --git a/lerobot/common/datasets/factory.py b/lerobot/common/datasets/factory.py
index ecb28e26..07afb614 100644
--- a/lerobot/common/datasets/factory.py
+++ b/lerobot/common/datasets/factory.py
@@ -62,7 +62,7 @@ def make_dataset(
                 stats = torch.load(precomputed_stats_path)
             else:
                 logging.info(f"compute_stats and save to {precomputed_stats_path}")
-                # instantiate a one frame dataset with light transform
+                # Create a dataset for stats computation.
                 stats_dataset = clsfunc(
                     dataset_id=cfg.dataset_id,
                     split="train",
@@ -70,7 +70,8 @@ def make_dataset(
                     transform=Prod(in_keys=clsfunc.image_keys, prod=1 / 255.0),
                 )
                 stats = compute_stats(stats_dataset)
-                torch.save(stats, stats_path)
+                precomputed_stats_path.parent.mkdir(parents=True, exist_ok=True)
+                torch.save(stats, precomputed_stats_path)
         else:
             stats = torch.load(stats_path)