diff --git a/mlair/data_handler/data_handler_single_station.py b/mlair/data_handler/data_handler_single_station.py
index c21d5b4126b8bc7564ef8855d7c1229c7f411df3..360ab6408345de83c21ee5d29031b3b5f131525b 100644
--- a/mlair/data_handler/data_handler_single_station.py
+++ b/mlair/data_handler/data_handler_single_station.py
@@ -276,6 +276,7 @@ class DataHandlerSingleStation(AbstractDataHandler):
         filename = os.path.join(self.lazy_path, hash + ".pickle")
         try:
             if self.overwrite_lazy_data is True:
+                os.remove(filename)
                 raise FileNotFoundError
             with open(filename, "rb") as pickle_file:
                 lazy_data = dill.load(pickle_file)
diff --git a/mlair/helpers/join.py b/mlair/helpers/join.py
index 93cb0e7b1b34d1ebc13b914ac9626fb4466a7201..67591b29a4e4bcc8b3083869825aed09ebebaf58 100644
--- a/mlair/helpers/join.py
+++ b/mlair/helpers/join.py
@@ -43,6 +43,9 @@ def download_join(station_name: Union[str, List[str]], stat_var: dict, station_t
     # make sure station_name parameter is a list
     station_name = helpers.to_list(station_name)
 
+    # also ensure that given data_origin dict is no reference
+    data_origin = None if data_origin is None else {k: v for (k, v) in data_origin.items()}
+
     # get data connection settings
     join_url_base, headers = join_settings(sampling)