diff --git a/hpvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp b/hpvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
index fdd90ea03738338304a373aa5f310ed6c93ab64d..aae3374519d1c55fc989fe63e995b0dd15a54d2b 100644
--- a/hpvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
+++ b/hpvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp
@@ -999,12 +999,12 @@ void CGT_NVPTX::codeGen(DFLeafNode* N) {
   // Clone the function
   ValueToValueMapTy VMap;
 
-  F_nvptx = CloneFunction(F, VMap);
   //F_nvptx->setName(FName+"_nvptx");
 
   Twine FName = F->getName();
   StringRef fStr = FName.getSingleStringRef();
   Twine newFName = Twine(fStr, "_nvptx"); 
+  F_nvptx = CloneFunction(F, VMap);
   F_nvptx->setName(newFName);