diff --git a/include/FanOut.h b/include/FanOut.h
index 42c452eaee1ca00bc98243419a0ac5b45608ae08..a6c0f48ddfbcce85b1808a2b926c9217dea43aff 100644
--- a/include/FanOut.h
+++ b/include/FanOut.h
@@ -166,8 +166,8 @@ namespace ChimeraTK {
       
       bool readNonBlocking() {
         bool ret = impl->readNonBlocking();
-        mtca4u::NDRegisterAccessor<UserType>::buffer_2D[0].swap(impl->accessChannel(0));
         if(ret) {
+          mtca4u::NDRegisterAccessor<UserType>::buffer_2D[0].swap(impl->accessChannel(0));
           for(auto &slave : slaves) {     // send out copies to slaves
             slave->accessChannel(0) = mtca4u::NDRegisterAccessor<UserType>::buffer_2D[0];
             slave->write();