diff --git a/xgm.py b/xgm.py
index 5d4e7d99e7a2496f812d2319b91531b4027c17eb..78bd1368666a99a70a27fab56413bdc8fc9e42dd 100644
--- a/xgm.py
+++ b/xgm.py
@@ -771,9 +771,14 @@ def matchXgmTimPulseId(data, use_apd=True, intstart=None, intstop=None,
             dimension 'pId'. Raw traces, raw XGM and raw APD are dropped.
     '''
     res = selectSASEinXGM(data, xgm='SCS_XGM').rename({'XGMbunchId':'pId'}).rename('SCS_XGM')
-    res2 = selectSASEinXGM(data, xgm='SA3_XGM').rename({'XGMbunchId':'pId'}).rename('SA3_XGM')
-    dropList = ['SCS_XGM','SA3_XGM']
-    mergeList = [res, res2]
+    dropList = ['SCS_XGM']
+    mergeList = [res]
+
+    if 'SA3_XGM' in data: 
+        res2 = selectSASEinXGM(data, xgm='SA3_XGM').rename({'XGMbunchId':'pId'}).rename('SA3_XGM')
+        dropList.append('SA3_XGM')
+        mergeList.append(res2)
+
     for mcp in range(1,5):
         if 'MCP{}apd'.format(mcp) in data or 'MCP{}raw'.format(mcp) in data:
             MCPapd = getTIMapd(data, mcp=mcp, use_apd=use_apd, intstart=intstart,