This is completely inspired by comment 14 in the mentioned bug [1], but I'm unsure if this is a correct use of 'IMM_IsCrossThreadAccess()' at all, and as such, any comments on that will be appreciated!
I imagine it is very possible that this works simply due to the 'else if' not being true due to this change, resulting into 'NULL' just as well as forcing it in some other way.
Thanks!