diff --git a/aliby/pipeline.py b/aliby/pipeline.py
index af5de9a7a24e7e06e0840614c19e0d9bb662738f..e0f3b91007b719ed7def78760248c8ff4e91bbaa 100644
--- a/aliby/pipeline.py
+++ b/aliby/pipeline.py
@@ -244,7 +244,7 @@ class Pipeline(ProcessABC):
         ow = {k: 0 for k in self.step_sequence}
 
         # check overwriting
-        ow_id = config.get("overwrite", 0)
+        ow_id = general_config.get("overwrite", 0)
         if ow_id:
             ow = {
                 step: self.step_sequence.index(ow_id) < i
@@ -262,22 +262,6 @@ class Pipeline(ProcessABC):
                 trackers_state = None
                 if Path(filename).exists():  # If no previous segmentation
 
-                    # Delete datasets to overwrite and update pipeline data
-                    with h5py.File(filename, "r") as f:
-                        pparams = PipelineParameters.from_yaml(
-                            f.attrs["parameters"]
-                        ).to_dict()
-
-                    for k, v in ow.items():
-                        if v:
-                            with h5py.File(filename, "a") as f:
-                                del f[self.writer_groups[k]]
-                            pparams[k] = config["k"]
-                    meta.add_fields(
-                        {"parameters": PipelineParameters.from_dict(pparams).to_yaml()},
-                        overwrite=True,
-                    )
-
                     if not ow["tiler"]:  # Try to load config from file
                         try:
                             with h5py.File(filename, "r") as f:
@@ -321,6 +305,23 @@ class Pipeline(ProcessABC):
                         except Exception as e:
                             print(e)
 
+                    # Delete datasets to overwrite and update pipeline data
+                    with h5py.File(filename, "r") as f:
+                        pparams = PipelineParameters.from_yaml(
+                            f.attrs["parameters"]
+                        ).to_dict()
+
+                    with h5py.File(filename, "a") as f:
+                        for k, v in ow.items():
+                            if v:
+                                for gname in self.writer_groups[k]:
+                                    del f[gname]
+                            pparams[k] = config[k]
+                    meta.add_fields(
+                        {"parameters": PipelineParameters.from_dict(pparams).to_yaml()},
+                        overwrite=True,
+                    )
+
                 if from_start:  # New experiment or overwriting
                     if config.get("overwrite", False) is True or np.all(
                         list(ow.values())