diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 47441db6693f02b215988c7475d430517d5720df..5ec0ada6eb7cdd9889dd3e95ff7d87cecf046209 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -2201,7 +2201,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
 			if (LLWinImm::isAvailable() && window_imp->mPreeditor)
 			{
 				LRESULT result = 0;
-				if (window_imp->handleImeRequests(w_param, (LONG_PTR)l_param, &result))
+				if (window_imp->handleImeRequests(w_param, l_param, &result))
 				{
 					return result;
 				}
@@ -3800,7 +3800,7 @@ LLWindowCallbacks::DragNDropResult LLWindowWin32::completeDragNDropRequest( cons
 // When it handled the message, the value to be returned from
 // the Window Procedure is set to *result.
 
-BOOL LLWindowWin32::handleImeRequests(U32 request, LONG_PTR param, LRESULT *result)
+BOOL LLWindowWin32::handleImeRequests(WPARAM request, LPARAM param, LRESULT *result)
 {
 	if ( mPreeditor )
 	{
diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h
index 65782acb622e345d58203384eaefd589a6a705fd..059a008c45023f17df218405906d29f11104d85d 100644
--- a/indra/llwindow/llwindowwin32.h
+++ b/indra/llwindow/llwindowwin32.h
@@ -148,7 +148,7 @@ class LLWindowWin32 : public LLWindow
 	U32		fillReconvertString(const LLWString &text, S32 focus, S32 focus_length, RECONVERTSTRING *reconvert_string);
 	void	handleStartCompositionMessage();
 	void	handleCompositionMessage(U32 indexes);
-	BOOL	handleImeRequests(U32 request, LONG_PTR param, LRESULT *result);
+	BOOL	handleImeRequests(WPARAM request, LPARAM param, LRESULT *result);
 
 protected:
 	//