--- call.c.orig	2003-07-09 13:53:17.000000000 +1000
+++ call.c	2013-10-16 20:20:28.000000000 +1100
@@ -185,7 +185,7 @@ ici_callv(ici_str_t *func_name, char *ty
     if (types[0] != '\0' && types[1] == '@')
     {
         va_list tmp;
-        tmp = va;
+        va_copy(tmp, va);
         member_obj = va_arg(tmp, ici_obj_t *);
         if ((func_obj = ici_fetch(member_obj, func_name)) == objof(&o_null))
         {
