diff --git a/src/edit.c b/src/edit.c
index daab0fe..4289ff5 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -4003,24 +4003,24 @@
 ins_compl_add_dict(dict)
     dict_T	*dict;
 {
-    dictitem_T	*refresh;
-    dictitem_T	*words;
+    dictitem_T	*di_refresh;
+    dictitem_T	*di_words;
 
     /* Check for optional "refresh" item. */
     compl_opt_refresh_always = FALSE;
-    refresh = dict_find(dict, (char_u *)"refresh", 7);
-    if (refresh != NULL && refresh->di_tv.v_type == VAR_STRING)
+    di_refresh = dict_find(dict, (char_u *)"refresh", 7);
+    if (di_refresh != NULL && di_refresh->di_tv.v_type == VAR_STRING)
     {
-	char_u	*v = refresh->di_tv.vval.v_string;
+	char_u	*v = di_refresh->di_tv.vval.v_string;
 
 	if (v != NULL && STRCMP(v, (char_u *)"always") == 0)
 	    compl_opt_refresh_always = TRUE;
     }
 
     /* Add completions from a "words" list. */
-    words = dict_find(dict, (char_u *)"words", 5);
-    if (words != NULL && words->di_tv.v_type == VAR_LIST)
-	ins_compl_add_list(words->di_tv.vval.v_list);
+    di_words = dict_find(dict, (char_u *)"words", 5);
+    if (di_words != NULL && di_words->di_tv.v_type == VAR_LIST)
+	ins_compl_add_list(di_words->di_tv.vval.v_list);
 }
 
 /*
