diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp
index 62d5f9fc48a0d0039f8e21d282b2cdcd5c3e872e..037bbb1a2a131cee9e865a8558685f793ac32ef0 100644
--- a/lib/CodeGen/CGCall.cpp
+++ b/lib/CodeGen/CGCall.cpp
@@ -754,7 +754,7 @@ void CodeGenFunction::EmitFunctionEpilog(QualType RetTy,
         if (RetTy->isAnyComplexType()) {
           // FIXME: Volatile
           ComplexPairTy RT = LoadComplexFromAddr(ReturnValue, false);
-          StoreComplexToAddr(RT, ReturnValue, false);
+          StoreComplexToAddr(RT, CurFn->arg_begin(), false);
         } else
           EmitAggregateCopy(CurFn->arg_begin(), ReturnValue, RetTy);
       break;