fixes #19957 (closed), #18618 (closed), ##19119 (closed).
Provides an alternate solution for #16006 (closed).