diff --git a/src/calng/ShmemTrainMatcher.py b/src/calng/ShmemTrainMatcher.py
index ae9fa539ed91e9888d10d5c1588ff484259ddffd..279f65b4ef0ddc9cb8d645e0996687686b7bc14c 100644
--- a/src/calng/ShmemTrainMatcher.py
+++ b/src/calng/ShmemTrainMatcher.py
@@ -469,9 +469,11 @@ class ShmemTrainMatcher(TrainMatcher.TrainMatcher):
         new_sources_map = {}
         frame_selection_mask = None
         if self._frame_selection_enabled and self._frame_selection_arbiter in sources:
-            frame_selection_mask = sources[self._frame_selection_arbiter][0][
-                "data.dataFramePattern"
-            ].astype(np.bool, copy=False)
+            frame_selection_mask = np.array(
+                sources[self._frame_selection_arbiter][0][
+                    "data.dataFramePattern"
+                ], copy=False
+            ).astype(np.bool, copy=False),
 
         if self._thread_pool is None:
             for source, (data, timestamp) in sources.items():