diff --git a/src/dosinst.c b/src/dosinst.c
index 809789f..2362418 100644
--- a/src/dosinst.c
+++ b/src/dosinst.c
@@ -1313,14 +1313,14 @@
     /* Whether to remap keys */
     alloc_text(choice_count, remap_text , remap_choices[remap_choice]);
     choices[choice_count].changefunc = change_remap_choice;
-    choices[choice_count].installfunc = NULL;;
+    choices[choice_count].installfunc = NULL;
     choices[choice_count].active = (*oldvimrc == NUL);
     ++choice_count;
 
     /* default way to use the mouse */
     alloc_text(choice_count, mouse_text, mouse_choices[mouse_choice]);
     choices[choice_count].changefunc = change_mouse_choice;
-    choices[choice_count].installfunc = NULL;;
+    choices[choice_count].installfunc = NULL;
     choices[choice_count].active = (*oldvimrc == NUL);
     ++choice_count;
 }
diff --git a/src/fold.c b/src/fold.c
index 8b9ca35..e4c7f41 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -153,7 +153,7 @@
     int		use_level = FALSE;
     int		maybe_small = FALSE;
     garray_T	*gap;
-    int		low_level = 0;;
+    int		low_level = 0;
 
     checkupdate(win);
     /*
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index cd115b8..620c892 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -2205,7 +2205,7 @@
 {
     int	    n	    = 0;
     char_u  *tmp    = NULL;
-    char_u  **array = NULL;;
+    char_u  **array = NULL;
 
     if (data != NULL && len > 0 && (tmp = (char_u *)alloc(len + 1)) != NULL)
     {
diff --git a/src/gui_w32.c b/src/gui_w32.c
index f6601df..cf29b61 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -685,7 +685,7 @@
     int		i;
 #ifdef FEAT_MBYTE
     WCHAR	wstring[2];
-    char_u	*ws = NULL;;
+    char_u	*ws = NULL;
 
     if (os_version.dwPlatformId != VER_PLATFORM_WIN32_NT)
     {
@@ -1873,7 +1873,7 @@
 		    && (vk != VK_SPACE || !(GetKeyState(VK_MENU) & 0x8000)))
 	    {
 		/*
-		 * Behave as exected if we have a dead key and the special key
+		 * Behave as expected if we have a dead key and the special key
 		 * is a key that would normally trigger the dead key nominal
 		 * character output (such as a NUMPAD printable character or
 		 * the TAB key, etc...).
diff --git a/src/main.c b/src/main.c
index ee37500..c877800 100644
--- a/src/main.c
+++ b/src/main.c
@@ -3159,7 +3159,7 @@
 	sourcing_name = save_sourcing_name;
 	sourcing_lnum = save_sourcing_lnum;
 #ifdef FEAT_EVAL
-	current_SID = save_sid;;
+	current_SID = save_sid;
 #endif
 	return OK;
     }
diff --git a/src/misc2.c b/src/misc2.c
index ae6ca04..67486aa 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -5152,7 +5152,7 @@
     new->ffs_filearray_cur  = 0;
     new->ffs_stage	   = 0;
     new->ffs_level	   = level;
-    new->ffs_star_star_empty = star_star_empty;;
+    new->ffs_star_star_empty = star_star_empty;
 
     /* the following saves NULL pointer checks in vim_findfile */
     if (fix_part == NULL)
diff --git a/src/version.c b/src/version.c
index f4f70d4..9aba54c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1909,
+/**/
     1908,
 /**/
     1907,
