diff --git a/src/compiler/codegen/MethodCodegenDriver.cc b/src/compiler/codegen/MethodCodegenDriver.cc
index db491f1..6b3283e 100644
--- a/src/compiler/codegen/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/MethodCodegenDriver.cc
@@ -40,7 +40,11 @@
 {
     RegLocation res = LOC_C_RETURN;
     oatClobber(cUnit, res.lowReg);
-    oatLockTemp(cUnit, res.lowReg);
+    if (cUnit->instructionSet == kMips) {
+        oatMarkInUse(cUnit, res.lowReg);
+    } else {
+        oatLockTemp(cUnit, res.lowReg);
+    }
     return res;
 }
 
diff --git a/src/compiler/codegen/mips/MipsRallocUtil.cc b/src/compiler/codegen/mips/MipsRallocUtil.cc
index 41bc991..7fd9b59 100644
--- a/src/compiler/codegen/mips/MipsRallocUtil.cc
+++ b/src/compiler/codegen/mips/MipsRallocUtil.cc
@@ -158,14 +158,6 @@
     return res;
 }
 
-extern RegLocation oatGetReturn(CompilationUnit* cUnit)
-{
-    RegLocation res = LOC_C_RETURN;
-    oatClobber(cUnit, res.lowReg);
-    oatMarkInUse(cUnit, res.lowReg);
-    return res;
-}
-
 extern RegisterInfo* oatGetRegInfo(CompilationUnit* cUnit, int reg)
 {
     return FPREG(reg) ? &cUnit->regPool->FPRegs[reg & FP_REG_MASK]
