diff --git a/mbtrack2/tracking/particles.py b/mbtrack2/tracking/particles.py
index 016cb9b44a5adf7a1a5cc7dba9efe54013dc60bb..7c42a5bc9643dbc34346f5272796e5509a06303a 100644
--- a/mbtrack2/tracking/particles.py
+++ b/mbtrack2/tracking/particles.py
@@ -288,7 +288,7 @@ class Bunch:
         cov_y = np.cov(self['y'], self['yp'])        
         cov_z = np.cov(self['tau'], self['delta'])
         
-        if (self.ring.optics.local_dispersion != 0):
+        if (self.ring.optics.local_dispersion != 0).any():
             cov_xdelta = np.cov(self['x'], self['delta'])
             cov_xpdelta = np.cov(self['xp'], self['delta'])
             cov_ydelta = np.cov(self['y'], self['delta'])