diff --git a/src/gui_xim.c b/src/gui_xim.c
index 4bd1a2e..28d354c 100644
--- a/src/gui_xim.c
+++ b/src/gui_xim.c
@@ -1324,15 +1324,11 @@
 					XNLineSpace, line_space,
 					NULL);
 	if (XSetICValues(xic, XNPreeditAttributes, attr_list, NULL))
-	    emsg(_("E284: Cannot set IC values"));
+	    emsg(_(e_cannot_set_ic_values));
 	XFree(attr_list);
     }
 }
 
-#  if defined(FEAT_GUI_X11)
-static char e_xim[] = N_("E285: Failed to create input context");
-#  endif
-
 #  if defined(FEAT_GUI_X11) || defined(PROTO)
 #   if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6 && !defined(SUN_SYSTEM)
 #    define USE_X11R6_XIM
@@ -1483,7 +1479,7 @@
 	if (p_verbose > 0)
 	{
 	    verbose_enter();
-	    emsg(_("E286: Failed to open input method"));
+	    emsg(_(e_failed_to_open_input_method));
 	    verbose_leave();
 	}
 	return FALSE;
@@ -1496,13 +1492,13 @@
 	destroy_cb.callback = xim_destroy_cb;
 	destroy_cb.client_data = NULL;
 	if (XSetIMValues(xim, XNDestroyCallback, &destroy_cb, NULL))
-	    emsg(_("E287: Warning: Could not set destroy callback to IM"));
+	    emsg(_(e_warning_could_not_set_destroy_callback_to_im));
     }
 #  endif
 
     if (XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles)
     {
-	emsg(_("E288: input method doesn't support any style"));
+	emsg(_(e_input_method_doesnt_support_any_style));
 	XCloseIM(xim);
 	return FALSE;
     }
@@ -1561,7 +1557,7 @@
 	if (p_verbose > 0)
 	{
 	    verbose_enter();
-	    emsg(_("E289: input method doesn't support my preedit type"));
+	    emsg(_(e_input_method_doesnt_support_my_preedit_type));
 	    verbose_leave();
 	}
 	XCloseIM(xim);
@@ -1625,7 +1621,7 @@
     else
     {
 	if (!is_not_a_term())
-	    emsg(_(e_xim));
+	    emsg(_(e_failed_to_create_input_context));
 	XCloseIM(xim);
 	return FALSE;
     }
