diff --git a/lib/CodeGen/MachineInstrAnnot.cpp b/lib/CodeGen/MachineInstrAnnot.cpp
index 27cf7ad..8d7d472 100644
--- a/lib/CodeGen/MachineInstrAnnot.cpp
+++ b/lib/CodeGen/MachineInstrAnnot.cpp
@@ -45,18 +45,24 @@
 
 // Mechanism to get the descriptor for a CALL MachineInstr.
 // We get the LLVM CallInstr from the ret. addr. register argument
-// of the CALL MachineInstr, then get the CallArgsDescriptor from the
-// MachineCodeForInstruction object for the CallInstr.
+// of the CALL MachineInstr (which is explicit operand #3 for indirect
+// calls or the last implicit operand for direct calls).  We then get
+// the CallArgsDescriptor from the MachineCodeForInstruction object for
+// the CallInstr.
 // This is roundabout but avoids adding a new map or annotation just
 // to keep track of CallArgsDescriptors.
 // 
 CallArgsDescriptor *CallArgsDescriptor::get(const MachineInstr* MI)
 {
   const TmpInstruction* retAddrReg =
-    cast<TmpInstruction>(MI->getImplicitRef(MI->getNumImplicitRefs()-1));
+    cast<TmpInstruction>(isa<Function>(MI->getOperand(0).getVRegValue())
+                         ? MI->getImplicitRef(MI->getNumImplicitRefs()-1)
+                         : MI->getOperand(2).getVRegValue());
+
   assert(retAddrReg->getNumOperands() == 1 &&
          isa<CallInst>(retAddrReg->getOperand(0)) &&
-         "Order of implicit args of CALL instr. changed. FIX THIS CODE!");
+         "Location of callInstr arg for CALL instr. changed? FIX THIS CODE!");
+
   const CallInst* callInstr = cast<CallInst>(retAddrReg->getOperand(0));
 
   CallArgsDescriptor* desc =
