diff --git a/hw/zynq_slcr.c b/hw/zynq_slcr.c
index b785f0441c108fa22c386289b17006f62b47e4a5..4f97575770a0991c4adfcb99ad700cdb93abb4ee 100644
--- a/hw/zynq_slcr.c
+++ b/hw/zynq_slcr.c
@@ -311,7 +311,7 @@ static inline uint32_t zynq_slcr_read_imp(void *opaque,
     case 0xA50:
         return s->dmac_ram;
     case 0xA60 ... 0xA8C:
-        return s->afi[0][(offset - 0x700) / 4];
+        return s->afi[0][(offset - 0xA60) / 4];
     case 0xA90 ... 0xA98:
         return s->ocm[(offset - 0xA90) / 4];
     case 0xAA0:
@@ -454,7 +454,7 @@ static void zynq_slcr_write(void *opaque, target_phys_addr_t offset,
             s->dmac_ram = val;
             break;
         case 0xA60 ... 0xA8C:
-            s->afi[0][(offset - 0x700) / 4] = val;
+            s->afi[0][(offset - 0xA60) / 4] = val;
             break;
         case 0xA90:
             s->ocm[0] = val;