diff --git a/src/charset.c b/src/charset.c
index 00a5326..c198284 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -991,14 +991,15 @@
     else
 #endif
     {
-	/* Rough guess: use isalpha() for characters above 128. */
+	/* Rough guess: use isalpha() and isupper() for characters above 128.
+	 * */
 	for (i = 128; i < 256; ++i)
 	{
-	    spelltab.st_isw[i] = isalpha(i);
-	    if (isupper(i))
+	    spelltab.st_isw[i] = MB_ISUPPER(i) || MB_ISLOWER(i);
+	    if (MB_ISUPPER(i))
 	    {
 		spelltab.st_isu[i] = TRUE;
-		spelltab.st_fold[i] = tolower(i);
+		spelltab.st_fold[i] = MB_TOLOWER(i);
 	    }
 	}
     }
@@ -1150,6 +1151,8 @@
 #if defined(FEAT_MBYTE) || defined(PROTO)
 /*
  * Write the current tables into the .spl file.
+ * This makes sure the same characters are recognized as word characters when
+ * generating an when using a spell file.
  */
     void
 write_spell_chartab(fd)
@@ -1160,15 +1163,6 @@
     int		flags;
     int		i;
 
-    if (!did_set_spelltab)
-    {
-	/* No character table specified, write zero counts. */
-	fputc(0, fd);
-	fputc(0, fd);
-	fputc(0, fd);
-	return;
-    }
-
     fputc(128, fd);				    /* <charflagslen> */
     for (i = 128; i < 256; ++i)
     {
