diff --git a/metadata.py b/metadata.py
index cf51aaedefb644e7c91c22a4491c29cecea4b23f..2b6abb5d9d06c497e22bb7382a4b4a9e1e711b47 100644
--- a/metadata.py
+++ b/metadata.py
@@ -52,7 +52,7 @@ class MetaData:
             
             curr_dest_dir = MetaData.get_and_set_metadata_from_file(self,suffix_indir,data_filename,slices,variables)
             
-            MetaData.write_metadata_to_file(self)
+            MetaData.write_metadata_to_file(self,dest_dir=curr_dest_dir)
             
 
     def get_and_set_metadata_from_file(self,suffix_indir,datafile_name,slices,variables):
@@ -135,7 +135,7 @@ class MetaData:
         
         paths_to_mod = ["source_dir","destination_dir","checkpoint_dir","results_dir"]      # known directory-variables in batch-scripts
         
-        with open(batch_script) as file:
+        with open(batch_script,'r') as file:
             data = file.readlines()
             
         matched_lines = [iline for iline in range(nlines) if any(str_id in data[iline] for str_id in paths_to_mod)]
@@ -143,7 +143,7 @@ class MetaData:
         for i in matched_lines:
             data[i] = mod_line(data[i],self.exp_dir)
         
-        with open(batch_script) as file:
+        with open(batch_script,'w') as file:
             file.writeslines(data)
         
     
@@ -153,6 +153,8 @@ class MetaData:
          Write meta data attributes of class instance to json-file.
         """
         
+        method_name = MetaData.__init__.__name__+" of Class "+MetaData.__name__
+        # actual work:
         meta_dict = {"expname": self.expname}
         
         meta_dict["sw_corner_frame"] = {
@@ -178,12 +180,20 @@ class MetaData:
             os.makedirs(target_dir,exist_ok=True)            
             
         meta_fname = os.path.join(target_dir,"metadata.json")
-        
-        print(meta_dict)
 
-        # write dictionary to file
-        with open(meta_fname,'w') as js_file:
-            json.dump(meta_dict,js_file)
+        if os.path.exists(meta_fname):                      # check if a metadata-file already exists and check its content 
+            with open(meta_fname) as js_file:
+                dict_dupl = json.loads(js_file)
+                
+                if dict_dupl != meta_dict:
+                    print(method_name+": Already existing metadata (see '"+meta_fname+") do not fit data being processed right now. Ensure a common data base.")
+                    sys.exit(1)
+                else: #do not need to do anything
+                    pass
+        else:
+            # write dictionary to file
+            with open(meta_fname,'w') as js_file:
+                json.dump(meta_dict,js_file)
             
     def get_metadata_from_file(self,js_file):