diff --git a/src/spellfile.c b/src/spellfile.c
index 7620aff..8b6388f 100644
--- a/src/spellfile.c
+++ b/src/spellfile.c
@@ -404,7 +404,7 @@
      * <HEADER>: <fileID>
      */
     for (i = 0; i < VIMSPELLMAGICL; ++i)
-	buf[i] = getc(fd);				// <fileID>
+	buf[i] = (unsigned)getc(fd);			// <fileID>
     if (STRNCMP(buf, VIMSPELLMAGIC, VIMSPELLMAGICL) != 0)
     {
 	emsg(_(e_this_does_not_look_like_spell_file));
@@ -700,7 +700,7 @@
 	     * <SUGHEADER>: <fileID> <versionnr> <timestamp>
 	     */
 	    for (i = 0; i < VIMSUGMAGICL; ++i)
-		buf[i] = getc(fd);			// <fileID>
+		buf[i] = (unsigned)getc(fd);		// <fileID>
 	    if (STRNCMP(buf, VIMSUGMAGIC, VIMSUGMAGICL) != 0)
 	    {
 		semsg(_(e_this_does_not_look_like_sug_file_str),
@@ -845,7 +845,7 @@
     if (len > MAXREGIONS * 2)
 	return SP_FORMERROR;
     for (i = 0; i < len; ++i)
-	lp->sl_regions[i] = getc(fd);			// <regionname>
+	lp->sl_regions[i] = (unsigned)getc(fd);		// <regionname>
     lp->sl_regions[len] = NUL;
     return 0;
 }
@@ -925,7 +925,7 @@
 	    buf[0] = '^';	    // always match at one position only
 	    p = buf + 1;
 	    while (n-- > 0)
-		*p++ = getc(fd);			// <condstr>
+		*p++ = (unsigned)getc(fd);		// <condstr>
 	    *p = NUL;
 	    lp->sl_prefprog[i] = vim_regcomp(buf, RE_MAGIC + RE_STRING);
 	}
@@ -1063,7 +1063,7 @@
 	    // store the char we got while checking for end of sm_lead
 	    *p++ = c;
 	for (++i; i < ccnt; ++i)
-	    *p++ = getc(fd);			// <salfrom>
+	    *p++ = (unsigned)getc(fd);			// <salfrom>
 	*p++ = NUL;
 
 	// <saltolen> <salto>
diff --git a/src/version.c b/src/version.c
index 1c685d1..e8f40e4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    367,
+/**/
     366,
 /**/
     365,
