diff --git a/src/type_determiner.cc b/src/type_determiner.cc
index 1be0c42..aa9d026 100644
--- a/src/type_determiner.cc
+++ b/src/type_determiner.cc
@@ -284,6 +284,12 @@
 }
 
 bool TypeDeterminer::DetermineCall(ast::CallExpression* expr) {
+  for (const auto& param : expr->params()) {
+    if (!DetermineResultType(param.get())) {
+      return false;
+    }
+  }
+
   if (!DetermineResultType(expr->func())) {
     return false;
   }
diff --git a/src/type_determiner_test.cc b/src/type_determiner_test.cc
index b722511..d59d21f 100644
--- a/src/type_determiner_test.cc
+++ b/src/type_determiner_test.cc
@@ -545,6 +545,32 @@
   EXPECT_TRUE(call.result_type()->IsF32());
 }
 
+TEST_F(TypeDeterminerTest, Expr_Call_WithParams) {
+  ast::type::F32Type f32;
+
+  ast::VariableList params;
+  auto func =
+      std::make_unique<ast::Function>("my_func", std::move(params), &f32);
+  ast::Module m;
+  m.AddFunction(std::move(func));
+
+  // Register the function
+  EXPECT_TRUE(td()->Determine(&m));
+
+  ast::ExpressionList call_params;
+  call_params.push_back(std::make_unique<ast::ScalarConstructorExpression>(
+      std::make_unique<ast::FloatLiteral>(&f32, 2.4)));
+
+  auto* param_ptr = call_params.back().get();
+
+  ast::CallExpression call(
+      std::make_unique<ast::IdentifierExpression>("my_func"),
+      std::move(call_params));
+  EXPECT_TRUE(td()->DetermineResultType(&call));
+  ASSERT_NE(param_ptr->result_type(), nullptr);
+  EXPECT_TRUE(param_ptr->result_type()->IsF32());
+}
+
 TEST_F(TypeDeterminerTest, Expr_Cast) {
   ast::type::F32Type f32;
   ast::CastExpression cast(&f32,
