diff --git a/src/run_modules/run_environment.py b/src/run_modules/run_environment.py
index f66660dcfde61a56b6f1cd41910be480b1faf60a..04c984b1a00de4d7cec93adab10120370e76002e 100644
--- a/src/run_modules/run_environment.py
+++ b/src/run_modules/run_environment.py
@@ -39,11 +39,7 @@ class RunEnvironment(object):
             logging.info(f"{self.__class__.__name__} finished after {self.time}")
             self.del_by_exit = True
         if self.__class__.__name__ == "RunEnvironment":
-            try:
-                new_file = os.path.join(self.data_store.get("experiment_path"), "logging.log")
-                shutil.copyfile(self.logger.log_file, new_file)
-            except (NameNotFoundInDataStore, FileNotFoundError):
-                pass
+            self.__copy_log_file()
             self.data_store.clear_data_store()
 
     def __enter__(self):
@@ -54,6 +50,20 @@ class RunEnvironment(object):
             logging.error(exc_val, exc_info=(exc_type, exc_val, exc_tb))
         self.__del__()
 
+    def __copy_log_file(self):
+        try:
+            counter = 0
+            filename_pattern = os.path.join(self.data_store.get("experiment_path"), "logging_%03i.log")
+            new_file = filename_pattern % counter
+            while os.path.exists(new_file):
+                counter += 1
+                new_file = filename_pattern % counter
+            logging.info(f"Copy log file to {new_file}")
+            shutil.copyfile(self.logger.log_file, new_file)
+        except (NameNotFoundInDataStore, FileNotFoundError):
+            pass
+
+
     @staticmethod
     def do_stuff(length=2):
         time.sleep(length)