diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index 6198257091..71fc171eee 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -2577,10 +2577,11 @@ void _Thread::_start_func(void *ud) { memdelete(tud); Variant::CallError ce; const Variant *arg[1] = { &t->userdata }; + int argc = (int)(arg[0]->get_type() != Variant::NIL); Thread::set_name(t->target_method); - t->ret = t->target_instance->call(t->target_method, arg, 1, ce); + t->ret = t->target_instance->call(t->target_method, arg, argc, ce); if (ce.error != Variant::CallError::CALL_OK) { String reason; switch (ce.error) {