Here is a new version of the patch, with the fixes added. Important: I have modified in this patch org-latex-guess-babel-language so that it recognizes the new Babel syntax alongside the old syntax. That is, it is now possible to put: #+LaTeX_Header: \usepackage[arguments,AUTO]{babel} #+LaTeX_Header: \babelprovide[arguments]{AUTO} Languages that are served in Babel *exclusively* via ini files (ie those with an asterisk in the new list) are not added to the Babel argument (they must be loaded via babelprovide). However, the following situation may also occur. A user wants to load the secondary languages via ldf files and the main language via ini file (babelprovide): #+LaTeX_Header: \usepackage[french,english]{babel} #+LaTeX_Header: \babelprovide[main, import]{AUTO} #+language: ru This would produce in LaTeX: \usepackage[french, english, russian]{babel} \babelprovide[main, import]{russian} I have not prevented this behavior as it is correct in Babel: you can load the main language using the 'old style' and then redefine it using babelprovide, which is a complement. Besides, maintaining this behavior is also necessary to preserve backwards compatibility. Best regards, Juan Manuel