diff --git a/controls/edit.c b/controls/edit.c
index 491b317ef680abec39e3aad0a03c5da43868b667..e0c4d2744406f979ddfe1457f1f189b1665c162e 100644
--- a/controls/edit.c
+++ b/controls/edit.c
@@ -4467,11 +4467,11 @@ static void EDIT_WM_SetFont(WND *wnd, EDITSTATE *es, HFONT font, BOOL redraw)
  */
 static void EDIT_WM_SetText(WND *wnd, EDITSTATE *es, LPARAM lParam, BOOL unicode)
 {
-    LPWSTR text;
+    LPWSTR text = NULL;
 
     if(unicode)
 	text = (LPWSTR)lParam;
-    else
+    else if (lParam)
     {
 	LPCSTR textA = (LPCSTR)lParam;
 	INT countW = MultiByteToWideChar(CP_ACP, 0, textA, -1, NULL, 0);