diff --git a/src/getchar.c b/src/getchar.c
index bbc6d6e..3f83b84 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2520,12 +2520,29 @@
 	    && State != MODE_CONFIRM
 	    && !at_ins_compl_key())
     {
-#ifdef FEAT_GUI
-	if (gui.in_use && tb_c1 == CSI && typebuf.tb_len >= 2
-		&& typebuf.tb_buf[typebuf.tb_off + 1] == KS_MODIFIER)
+#if defined(FEAT_GUI) || defined(MSWIN)
+	if (tb_c1 == CSI
+# if !defined(MSWIN)
+		&& gui.in_use
+# endif
+		&& typebuf.tb_len >= 2
+		&& (typebuf.tb_buf[typebuf.tb_off + 1] == KS_MODIFIER
+# if defined(MSWIN)
+		    || (typebuf.tb_len >= 3
+		      && typebuf.tb_buf[typebuf.tb_off + 1] == KS_EXTRA
+		      && (typebuf.tb_buf[typebuf.tb_off + 2] == KE_MOUSEUP
+			|| typebuf.tb_buf[typebuf.tb_off + 2] == KE_MOUSEDOWN
+			|| typebuf.tb_buf[typebuf.tb_off + 2] == KE_MOUSELEFT
+			|| typebuf.tb_buf[typebuf.tb_off + 2] == KE_MOUSERIGHT)
+		       )
+# endif
+		   )
+	   )
 	{
 	    // The GUI code sends CSI KS_MODIFIER {flags}, but mappings expect
 	    // K_SPECIAL KS_MODIFIER {flags}.
+	    // MS-Windows sends mouse scroll events CSI KS_EXTRA {what}, but
+	    // mappings expect K_SPECIAL KS_EXTRA {what}.
 	    tb_c1 = K_SPECIAL;
 	}
 #endif
@@ -2568,7 +2585,8 @@
 		    && (mp->m_mode & local_State)
 		    && !(mp->m_simplified && seenModifyOtherKeys
 						     && typebuf.tb_maplen == 0)
-		    && ((mp->m_mode & MODE_LANGMAP) == 0 || typebuf.tb_maplen == 0))
+		    && ((mp->m_mode & MODE_LANGMAP) == 0
+						    || typebuf.tb_maplen == 0))
 	    {
 #ifdef FEAT_LANGMAP
 		int	nomap = nolmaplen;
diff --git a/src/os_win32.c b/src/os_win32.c
index 03b3ac0..ca1799f 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1265,7 +1265,7 @@
 #ifdef FEAT_PROP_POPUP
     int lcol = g_xMouse;
     int lrow = g_yMouse;
-    wp = mouse_find_win(&lrow, &lcol, FAIL_POPUP);
+    wp = mouse_find_win(&lrow, &lcol, FIND_POPUP);
     if (wp != NULL && popup_is_popup(wp))
     {
 	g_nMouseClick = -1;
diff --git a/src/version.c b/src/version.c
index 983fa0c..34ff382 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    802,
+/**/
     801,
 /**/
     800,
