diff --git a/src/calng/ShmemTrainMatcher.py b/src/calng/ShmemTrainMatcher.py
index 0de5b1d09792b3f41a8d700b06d0319a0c0aea1f..3e0f64ca3a715949daf52ed27d20fb8bcb18320d 100644
--- a/src/calng/ShmemTrainMatcher.py
+++ b/src/calng/ShmemTrainMatcher.py
@@ -86,7 +86,7 @@ class ShmemTrainMatcher(TrainMatcher.TrainMatcher):
         super().initialization()
         self._shmem_handler = shmem_utils.ShmemCircularBufferReceiver()
         self._stacking_friend = StackingFriend(
-            self, self.get("merge"), self.get("sources")
+            self, self.get("sources"), self.get("merge")
         )
         self._frameselection_friend = FrameselectionFriend(self.get("frameSelector"))
         self._thread_pool = concurrent.futures.ThreadPoolExecutor(
@@ -102,7 +102,7 @@ class ShmemTrainMatcher(TrainMatcher.TrainMatcher):
     def preReconfigure(self, conf):
         super().preReconfigure(conf)
         if conf.has("merge") or conf.has("sources"):
-            self._stacking_friend.reconfigure(conf.get("merge"), conf.get("sources"))
+            self._stacking_friend.reconfigure(conf.get("sources"), conf.get("merge"))
             # re-prepare in postReconfigure after sources *and* merge are in self
         if conf.has("frameSelector"):
             self._frameselection_friend.reconfigure(conf.get("frameSelector"))