diff --git a/include/DeviceAccessor.h b/include/DeviceAccessor.h
index 0849735f3d5025ba4616ef2f5ce615d71906c64d..7fa28eaccf05e0d1a4de010b3952bd2d6978147d 100644
--- a/include/DeviceAccessor.h
+++ b/include/DeviceAccessor.h
@@ -41,9 +41,9 @@ namespace ChimeraTK {
       }
       
       bool readNonBlocking() {
-        impl->read();           /// @todo FIXME this is wrong, but otherwise DeviceAccess fails to work properly right now
+        bool ret = impl->readNonBlocking();
         mtca4u::NDRegisterAccessor<UserType>::buffer_2D[0].swap(impl->accessChannel(0));
-        return true;
+        return ret;
       }
       
       void write() {