diff --git a/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp b/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
index 3670c2ef5516b6c5787b24da4d9454947224ef1b..d8be759932c4d08038a6dc1e8337672f2617c3d4 100644
--- a/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
+++ b/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
@@ -1465,6 +1465,10 @@ void CGT_NVPTX::codeGen(DFLeafNode* N) {
         Function* newCalleeF = CloneFunction(calleeF, VMap);
         newCalleeF->removeFromParent(); //TODO: MARIA check
         KernelM->getFunctionList().push_back(newCalleeF);
+        CallInst *CInew = CallInst::Create(newCalleeF, CI->getArgOperand(0), CI->getName(), CI);
+        CI->replaceAllUsesWith(CInew);
+        CItoRemove.push_back(CI);
+
       }
       //TODO: how to handle address space qualifiers in load/store
     }