diff --git a/s/HAL b/s/HAL
index 51e7aebf3292932f79d5a510493091614a05cfa3..0fa8fa83f3b3e8c5cea58eb9537251f72ac4f6e2 100644
--- a/s/HAL
+++ b/s/HAL
@@ -148,7 +148,7 @@ RISCOS_InitARM
         ROUT
 RISCOS_AddRAM
         Push    "v1,v2,v3,v4,lr"
-        LDR     v4, [sp, #20]           ; Get ref
+        LDR     v4, [sp, #5*4]          ; Get ref
 
         ; Round to pages. If we were extra sneaky we could not do this and chuck out incomplete
         ; pages after concatanation, but it would be a weird HAL that gave us pages split across