diff --git a/compiler/GHC/CmmToAsm/Wasm/FromCmm.hs b/compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
index 1ad316eb21b7de880b0422ef349babd1e0df2cd6..390ded18e135ef345b13d9c15cbbbfb6f974e0a7 100644
--- a/compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
+++ b/compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
@@ -1048,6 +1048,8 @@ lower_CmmExpr_Ptr lbl ptr = do
   let (ptr', o) = case ptr of
         CmmLit (CmmLabelOff lbl o)
           | o >= 0 -> (CmmLit $ CmmLabel lbl, o)
+        CmmRegOff reg o
+          | o >= 0 -> (CmmReg reg, o)
         CmmMachOp (MO_Add _) [base, CmmLit (CmmInt o _)]
           | o >= 0 -> (base, fromInteger o)
         _ -> (ptr, 0)