diff --git a/hpvm/lib/Transforms/GenVISC/GenVISC.cpp b/hpvm/lib/Transforms/GenVISC/GenVISC.cpp
index 70a8671e768b6697385c094940306f4545e19867..9c538624699bc61934d08421fc47e921c4c26abf 100644
--- a/hpvm/lib/Transforms/GenVISC/GenVISC.cpp
+++ b/hpvm/lib/Transforms/GenVISC/GenVISC.cpp
@@ -525,7 +525,7 @@ static Function* genInternalNode(Function* KernelF, unsigned level,
   // Generate Bind intrinsics
   Function* bindInputF = Intrinsic::getDeclaration(module, Intrinsic::visc_bind_input);
   DEBUG(errs() << "Generating input binding:\n" << *bindInputF << "\n");
-  for(unsigned i=0; i < ChildNodeF->getArgumentList().size(); i++) {
+  for(unsigned i=0; i < ChildNodeF->arg_size(); i++) {
     std::vector<Value*> bindArgs;
     bindArgs.push_back(CreateNodeCall);
     bindArgs.push_back(ConstantInt::get(Type::getInt32Ty(module->getContext()), i));