- if (info.grob ()->name () == ly_symbol2string (events_[i]->get_property ("symbol")))
- footnotify (info.grob (), events_[i]);
+ string grobname = info.grob ()->name ();
+
+ for (vsize i = 0; i < events_.size (); i++)
+ {
+ SCM name = events_[i]->get_property ("symbol");
+ if (scm_is_symbol (name)
+ && grobname == ly_symbol2string (name))
+ {
+ footnotify (info.grob (), events_[i]->self_scm ());
+ // Event has exhausted its footnote
+ events_[i]->set_property ("symbol", SCM_EOL);
+ }
+ }