diff --git a/src/charset.c b/src/charset.c
index c213704..37c3336 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -225,7 +225,8 @@
 			    }
 			    else
 			    {
-				g_chartab[c] = (g_chartab[c] & ~CT_CELL_MASK) + 1;
+				g_chartab[c] = (g_chartab[c] & ~CT_CELL_MASK)
+									   + 1;
 				g_chartab[c] |= CT_PRINT_CHAR;
 			    }
 			}
@@ -846,8 +847,10 @@
 }
 
 /*
- * return TRUE if 'c' is a valid file-name character
+ * Return TRUE if 'c' is a valid file-name character as specified with the
+ * 'isfname' option.
  * Assume characters above 0x100 are valid (multi-byte).
+ * To be used for commands like "gf".
  */
     int
 vim_isfilec(int c)
@@ -856,6 +859,16 @@
 }
 
 /*
+ * Return TRUE if 'c' is a valid file-name character, including characters left
+ * out of 'isfname' to make "gf" work, such as comma, space, '@', etc.
+ */
+    int
+vim_is_fname_char(int c)
+{
+    return vim_isfilec(c) || c == ',' || c == ' ' || c == '@';
+}
+
+/*
  * return TRUE if 'c' is a valid file-name character or a wildcard character
  * Assume characters above 0x100 are valid (multi-byte).
  * Explicitly interpret ']' as a wildcard character as mch_has_wildcard("]")
diff --git a/src/proto/charset.pro b/src/proto/charset.pro
index 97aa71e..ebb548a 100644
--- a/src/proto/charset.pro
+++ b/src/proto/charset.pro
@@ -25,6 +25,7 @@
 int vim_iswordp(char_u *p);
 int vim_iswordp_buf(char_u *p, buf_T *buf);
 int vim_isfilec(int c);
+int vim_is_fname_char(int c);
 int vim_isfilec_or_wc(int c);
 int vim_isprintc(int c);
 int vim_isprintc_strict(int c);
diff --git a/src/spell.c b/src/spell.c
index 24abce4..8ca9313 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -4363,7 +4363,7 @@
     char_u *s;
 
     for (s = val; *s != NUL; ++s)
-	if (!vim_isfilec(*s) && *s != ',' && *s != ' ')
+	if (!vim_is_fname_char(*s))
 	    return FALSE;
     return TRUE;
 }
diff --git a/src/testdir/test_spellfile.vim b/src/testdir/test_spellfile.vim
index 38d1ec0..43dfad4 100644
--- a/src/testdir/test_spellfile.vim
+++ b/src/testdir/test_spellfile.vim
@@ -1160,4 +1160,12 @@
   call assert_fails('set mkspellmem=1000,50,0', 'E474:')
 endfunc
 
+" 'spellfile' accepts '@' on top of 'isfname'.
+def Test_spellfile_allow_at_character()
+  mkdir('Xtest/the foo@bar,dir', 'p')
+  &spellfile = './Xtest/the foo@bar,dir/Xspellfile.add'
+  &spellfile = ''
+  delete('Xtest', 'rf')
+enddef
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index e3e7247..a62fb92 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    138,
+/**/
     137,
 /**/
     136,
