Hi all, I hit the problem described in https://www.mail-archive.com/emacs-orgmode@gnu.org/msg127317.html - I couldn't see that anyone else had fixed it so I had a go. The problem is that, unusually, ob-lilypond has some conditional logic on its header-args. Its solution is to set the header-args internally when required, which overrides any user-specified value. The quickest way I could see to preserve the conditional logic was to add a new variable to hold the user configuration, which I called ob-lilypond-header-args. Now the conditional logic sets org-babel-header-args:lilypond to the new variable's value when appropriate. Another way would be to create a context which sets the variable when needed and then resets it. I opted against this as I'm not sure it would have the same behaviour in all cases. Happy to have a go if it would be preferable, though. Cheers, Jamie