diff --git a/Load.py b/Load.py
index c91bd9100b5508ac7aefc8827f16466012268685..9a86856308da2bfc7b5d8933551646ef66a8186c 100644
--- a/Load.py
+++ b/Load.py
@@ -328,8 +328,8 @@ def load(fields, runNB, proposalNB, semesterNB, topic='SCS', display=False,
                 or dictionnaries defining a custom mnemonic such as
                 {"extra": {'SCS_CDIFFT_MAG/SUPPLY/CURRENT', 'actual_current.value', None}}
             runNB: run number as integer
-            proposalNB: string of the proposal number
-            semesterNB: string of the semester number where the proposal data are saved
+            proposalNB: string or int of the proposal number e.g. 'p002252' or 2252
+            semesterNB: string or int of the semester number where the proposal data are saved
             topic: string of the topic
             display: boolean, whether to show the run.info or not
             validate: boolean, whether to run karabo-data-validate or not
@@ -346,6 +346,8 @@ def load(fields, runNB, proposalNB, semesterNB, topic='SCS', display=False,
             res: an xarray DataSet with aligned trainIds
     """
 
+    if type(proposalNB)==int:
+        proposalNB = 'p{:06d}'.format(proposalNB)
     runFolder = runpath.format(topic, semesterNB, proposalNB, runNB)
     run = RunDirectory(runFolder).select_trains(subset)
 
@@ -401,4 +403,5 @@ def load(fields, runNB, proposalNB, semesterNB, topic='SCS', display=False,
     result = dict(zip(keys, aligned_vals))
     result = xr.Dataset(result)
     result.attrs['run'] = run
+    result.attrs['runFolder'] = runFolder
     return result
diff --git a/xgm.py b/xgm.py
index 4602cc1b178abf9c9071b4aebbc756db42aef1dc..7a02764910f81dedc4228bc162a76d5048f1417d 100644
--- a/xgm.py
+++ b/xgm.py
@@ -177,7 +177,8 @@ def cleanXGMdata(data, npulses=None, sase3First=True):
         mergeList.append(res)
     mergeList.append(data.drop(dropList))
     subset = xr.merge(mergeList, join='inner')
-    subset.attrs['run'] = data.attrs['run']
+    for k in data.attrs.keys():
+        subset.attrs[k] = data.attrs[k]
     return subset
 
 
@@ -937,7 +938,8 @@ def matchXgmTimPulseId(data, use_apd=True, intstart=None, intstop=None,
                 dropList.append('MCP{}apd'.format(mcp))
     mergeList.append(ndata.drop(dropList))
     subset = xr.merge(mergeList, join='inner')
-    subset.attrs['run'] = ndata.attrs['run']
+    for k in ndata.attrs.keys():
+        subset.attrs[k] = ndata.attrs[k]
     return subset