if (macro_mri)
        {
-         char buffer[20];
-
-         sb_reset (&t);
-         sb_add_string (&t, macro_strip_at ? "$NARG" : "NARG");
-         ptr = str_hash_find (m->formal_hash, sb_terminate (&t));
-         sprintf (buffer, "%d", narg);
-         sb_add_string (&ptr->actual, buffer);
+         ptr = str_hash_find (m->formal_hash,
+                              macro_strip_at ? "$NARG" : "NARG");
+         if (ptr)
+           {
+             char buffer[20];
+             sprintf (buffer, "%d", narg);
+             sb_add_string (&ptr->actual, buffer);
+           }
        }
 
       err = macro_expand_body (&m->sub, out, m->formals, m->formal_hash, m);