diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index 03ac9c2f10ccafc869eed1a5db0dfa2714b123f4..343065cd152aabace270ac1da90afd56ddc19e1a 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -1911,11 +1911,11 @@ void LLWindowSDL::gatherInput()
         }
         case SDL_TEXTINPUT:
         {
-            auto string = utf8str_to_utf16str(event.text.text);
+            auto string = utf8str_to_wstring(event.text.text);
             for (auto key : string)
             {
-                mKeyVirtualKey = key;
-                handleUnicodeUTF16(key, gKeyboard->currentMask(FALSE));
+                //mKeyVirtualKey = key;
+                mCallbacks->handleUnicodeChar(key, gKeyboard->currentMask(FALSE));
             }
             break;
         }