diff --git a/doc/changelog.rst b/doc/changelog.rst
index 34bdb34c23df7d8a86b9b56eeffd9d64ba170de3..ee274b12ced08405590296ca71233294d199592a 100644
--- a/doc/changelog.rst
+++ b/doc/changelog.rst
@@ -15,6 +15,7 @@ unreleased
 		- fix :issue:`57` adds target mono energy mnemonic
     - fix :issue:`55` implementingd dask auto rechunking in notebooks
     - fix :issue:`53` wrong flat field correction sometimes being calculated 
+    - fix :issue:`56` future warning on xarray.ufuncs :mr:`189`
 
 - **Improvements**
 
diff --git a/src/toolbox_scs/detectors/xgm.py b/src/toolbox_scs/detectors/xgm.py
index 944dcc501130ca9cdc7cf340982c11c3bc8f23ee..6882fe30f49819babc56adfdfd1f717af6a764fc 100644
--- a/src/toolbox_scs/detectors/xgm.py
+++ b/src/toolbox_scs/detectors/xgm.py
@@ -146,7 +146,7 @@ def align_xgm_array(xgm_arr, bpt):
         compute_sa3 = True
         mask_sa1 = is_sase_1(bpt.sel(trainId=valid_tid))
         mask_sa3 = is_sase_3(bpt.sel(trainId=valid_tid))
-        mask = xr.ufuncs.logical_or(mask_sa1, mask_sa3)
+        mask = np.logical_or(mask_sa1, mask_sa3)
         tid = mask.where(mask.sum(dim='pulse_slot') > 0,
                          drop=True).trainId
         mask_sa1 = mask_sa1.sel(trainId=tid).rename({'pulse_slot': 'sa1_pId'})