diff --git a/src/cal_tools/agipdlib.py b/src/cal_tools/agipdlib.py
index 5c46384d01307e94dcf4c0d97048f5e93391062f..81c68ff00bb8fb776c0523db451b7a0916437e80 100644
--- a/src/cal_tools/agipdlib.py
+++ b/src/cal_tools/agipdlib.py
@@ -830,7 +830,8 @@ class AgipdCorrections:
 
         # Initializing can_calibrate array
         can_calibrate = self.choose_selected_pulses(
-            allpulses, can_calibrate=[True]*len(allpulses))
+            allpulses,
+            can_calibrate=np.ones(shape=(len(allpulses),), dtype=np.bool))
 
         # Only select data corresponding to selected pulses
         # and overwrite data in shared-memory leaving
@@ -938,14 +939,10 @@ class AgipdCorrections:
 
         # Check interesection between array of booleans and
         # array of pulses to calibrate.
-        can_calibrate = np.logical_and(
-            np.logical_and(
-                can_calibrate,
-                np.logical_and(
-                    allpulses >= allpulses[self.start],
-                    allpulses <= allpulses[self.last-1]),
-            ),
-            ((allpulses - allpulses[self.start]) % allpulses[self.step]) == 0,
+        can_calibrate &= (
+            (allpulses >= allpulses[self.start]) &
+            (allpulses <= allpulses[self.last-1]) &
+            (((allpulses - allpulses[self.start]) % allpulses[self.step]) == 0)  # noqa
         )
         return can_calibrate