diff --git a/mbtrack2/tracking/particles.py b/mbtrack2/tracking/particles.py
index e3c6f2e0f892b48400d520f28c8675282139308e..190a3975aae8cbed2d0e997859ca86b2ff5ad8aa 100644
--- a/mbtrack2/tracking/particles.py
+++ b/mbtrack2/tracking/particles.py
@@ -287,7 +287,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, 0, 0, 0]):
+        if (np.array(self.ring.optics.local_dispersion) != np.array([0, 0, 0, 0])).all():
             cov_xdelta = np.cov(self['x'], self['delta'])
             cov_xpdelta = np.cov(self['xp'], self['delta'])
             cov_ydelta = np.cov(self['y'], self['delta'])