diff --git a/bridge/go-llvm-cabi-oracle.cpp b/bridge/go-llvm-cabi-oracle.cpp
index be6d0f6..d339cf7 100644
--- a/bridge/go-llvm-cabi-oracle.cpp
+++ b/bridge/go-llvm-cabi-oracle.cpp
@@ -595,7 +595,8 @@
   if (rdisp == ParmIndirect) {
     // Return value will be passed in memory, via a hidden
     // struct return param.
-    llvm::Type *ptrTyp = tm()->makeLLVMPointerType(rtyp);
+    // It is on stack, therefore address space 0.
+    llvm::Type *ptrTyp = llvm::PointerType::get(rtyp, 0);
     state.addIndirectReturn();
     return CABIParamInfo(ptrTyp, ParmIndirect, AttrStructReturn, 0);
   }
diff --git a/bridge/go-llvm-materialize.cpp b/bridge/go-llvm-materialize.cpp
index 3d6a4c7..dce76d1 100644
--- a/bridge/go-llvm-materialize.cpp
+++ b/bridge/go-llvm-materialize.cpp
@@ -1129,16 +1129,8 @@
     Btype *resTyp = state.calleeFcnType->resultType();
     assert(state.callerFcn);
     state.sretTemp = state.callerFcn->createTemporary(resTyp, tname);
-    if (returnInfo.disp() == ParmIndirect) {
-      llvm::Value *sretval = state.sretTemp;
-      if (addressSpace_ != 0) {
-        llvm::Type *typ =
-            makeLLVMPointerType(sretval->getType()->getPointerElementType());
-        sretval =
-            state.builder.CreateAddrSpaceCast(sretval, typ, "sret.actual.ascast");
-      }
-      state.llargs.push_back(sretval);
-    }
+    if (returnInfo.disp() == ParmIndirect)
+      state.llargs.push_back(state.sretTemp);
   }
 
   // Chain param if needed
