diff --git a/src/eval.c b/src/eval.c
index 2e5b876..10732cc 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -451,7 +451,6 @@
 static void dictitem_remove __ARGS((dict_T *dict, dictitem_T *item));
 static dict_T *dict_copy __ARGS((dict_T *orig, int deep, int copyID));
 static long dict_len __ARGS((dict_T *d));
-static dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len));
 static char_u *dict2string __ARGS((typval_T *tv, int copyID));
 static int get_dict_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
 static char_u *echo_string __ARGS((typval_T *tv, char_u **tofree, char_u *numbuf, int copyID));
@@ -7043,7 +7042,7 @@
  * If "len" is negative use strlen(key).
  * Returns NULL when not found.
  */
-    static dictitem_T *
+    dictitem_T *
 dict_find(d, key, len)
     dict_T	*d;
     char_u	*key;
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index e817769..6d11d97 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -56,6 +56,7 @@
 void dictitem_free __ARGS((dictitem_T *item));
 int dict_add __ARGS((dict_T *d, dictitem_T *item));
 int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str));
+dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len));
 char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save));
 long get_dict_number __ARGS((dict_T *d, char_u *key));
 char_u *get_function_name __ARGS((expand_T *xp, int idx));
diff --git a/src/tag.c b/src/tag.c
index ba36de7..db00c2e 100644
--- a/src/tag.c
+++ b/src/tag.c
@@ -3771,7 +3771,8 @@
 static int add_tag_field __ARGS((dict_T *dict, char *field_name, char_u *start, char_u *end));
 
 /*
- * Add a tag field to the dictionary "dict"
+ * Add a tag field to the dictionary "dict".
+ * Return OK or FAIL.
  */
     static int
 add_tag_field(dict, field_name, start, end)
@@ -3783,6 +3784,17 @@
     char_u	buf[MAXPATHL];
     int		len = 0;
 
+    /* check that the field name doesn't exist yet */
+    if (dict_find(dict, (char_u *)field_name, -1) != NULL)
+    {
+	if (p_verbose > 0)
+	{
+	    verbose_enter();
+	    smsg((char_u *)_("Duplicate field name: %s"), field_name);
+	    verbose_leave();
+	}
+	return FAIL;
+    }
     if (start != NULL)
     {
 	if (end == NULL)
