diff --git a/compiler/GHC/CmmToAsm/Wasm/FromCmm.hs b/compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
index 02f0c976ea0002746117a21dabadc437c89dbf2c..920fba33bbc239cd78a3f8dea8d0bc605116b886 100644
--- a/compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
+++ b/compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
@@ -1002,6 +1002,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)