simpler
diff --git a/src/passes/SignatureRefining.cpp b/src/passes/SignatureRefining.cpp
index e6c27d1..336e74c 100644
--- a/src/passes/SignatureRefining.cpp
+++ b/src/passes/SignatureRefining.cpp
@@ -134,13 +134,13 @@
       // For direct calls, add each call to the type of the function being
       // called.
       for (auto* call : info.calls) {
-        allInfo[module->getFunction(call->target)->type].calls.push_back(call);
+        auto type = module->getFunction(call->target)->type;
+        allInfo[type].calls.push_back(call);
         // If a function is return_call'd then we can't modify the results, as
         // the results must continue to match the function the return_call is
         // inside.
         if (call->isReturn) {
-          allInfo[module->getFunction(call->target)->type].canModifyResults =
-            false;
+          allInfo[type].canModifyResults = false;
         }
       }