updated for version 7.1-164
diff --git a/src/regexp.c b/src/regexp.c
index b62f877..6717d2c 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -2770,7 +2770,8 @@
     {
 #ifdef FEAT_MBYTE
 	if (enc_utf8)
-	    prevchr_len += utf_char2len(mb_ptr2char(regparse + prevchr_len));
+	    /* exclude composing chars that mb_ptr2len does include */
+	    prevchr_len += utf_ptr2len(regparse + prevchr_len);
 	else if (has_mbyte)
 	    prevchr_len += (*mb_ptr2len)(regparse + prevchr_len);
 	else
diff --git a/src/version.c b/src/version.c
index 1dd2a23..1aecf6c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    164,
+/**/
     163,
 /**/
     162,