diff --git a/src/misc1.c b/src/misc1.c
index b1cc215..d8e7e1a 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -1993,6 +1993,7 @@
 	for (list = curbuf->b_p_com; *list; )
 	{
 	    char_u *flags_save = list;
+	    int	    is_only_whitespace = FALSE;
 
 	    /*
 	     * Get one option part into part_buf[].  Advance list to next one.
@@ -2018,8 +2019,10 @@
 	    {
 		if (i == 0 || !VIM_ISWHITE(line[i - 1]))
 		    continue;
-		while (VIM_ISWHITE(string[0]))
+		while (VIM_ISWHITE(*string))
 		    ++string;
+		if (*string == NUL)
+		    is_only_whitespace = TRUE;
 	    }
 	    for (j = 0; string[j] != NUL && string[j] == line[i + j]; ++j)
 		/* do nothing */;
@@ -2032,8 +2035,17 @@
 	     */
 	    if (vim_strchr(part_buf, COM_BLANK) != NULL
 		    && !VIM_ISWHITE(line[i + j]) && line[i + j] != NUL)
-	    {
 		continue;
+
+	    // For a middlepart comment that is only white space, only consider
+	    // it to match if everything before the current position in the
+	    // line is also whitespace.
+	    if (is_only_whitespace && vim_strchr(part_buf, COM_MIDDLE) != NULL)
+	    {
+		for (j = 0; VIM_ISWHITE(line[j]) && j <= i; j++)
+		    ;
+		if (j < i)
+		    continue;
 	    }
 
 	    /*
