This implementation has some problem that some side case are not handled. Please reference this previous patch email: https://lists.gnu.org/archive/html/emacs-orgmode/2018-03/msg00507.html