diff --git a/drivers/mma7660/mma7660_saul.c b/drivers/mma7660/mma7660_saul.c
index ef0014ae66ec5c023efa9314f9f584b5b10e6a30..5d202e1d9c0e4289cbea7c12aabc693ffd40c5ba 100644
--- a/drivers/mma7660/mma7660_saul.c
+++ b/drivers/mma7660/mma7660_saul.c
@@ -26,7 +26,7 @@
 
 static int read_acc(const void *dev, phydat_t *res)
 {
-    mma7660_read((const mma7660_t *)dev, (mma7660_data_t *)res);
+    mma7660_read((const mma7660_t *)dev, (mma7660_data_t *)res->val);
 
     res->unit = UNIT_G;
     res->scale = -3;