diff --git a/src/misc2.c b/src/misc2.c
index 41b9f71..649cb65 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -2929,9 +2929,11 @@
     if ((modifiers & MOD_MASK_SHIFT) && ASCII_ISALPHA(key))
     {
 	key = TOUPPER_ASC(key);
-	// With <C-S-a> and <A-S-a> we keep the shift modifier.
-	// With <S-a> and <S-A> we don't keep the shift modifier.
-	if (simplify || modifiers == MOD_MASK_SHIFT)
+	// With <C-S-a> we keep the shift modifier.
+	// With <S-a>, <A-S-a> and <S-A> we don't keep the shift modifier.
+	if (simplify || modifiers == MOD_MASK_SHIFT
+		|| modifiers == (MOD_MASK_SHIFT | MOD_MASK_ALT)
+		|| modifiers == (MOD_MASK_SHIFT | MOD_MASK_META))
 	    modifiers &= ~MOD_MASK_SHIFT;
     }
 
diff --git a/src/term.c b/src/term.c
index c4ca33e..1556c2e 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4772,11 +4772,14 @@
     // Some keys already have Shift included, pass them as
     // normal keys.  Not when Ctrl is also used, because <C-H>
     // and <C-S-H> are different.
-    if (modifiers == MOD_MASK_SHIFT
+    // Also for <A-S-a> and <M-S-a>.
+    if ((modifiers == MOD_MASK_SHIFT
+		|| modifiers == (MOD_MASK_SHIFT | MOD_MASK_ALT)
+		|| modifiers == (MOD_MASK_SHIFT | MOD_MASK_META))
 	    && ((key >= '@' && key <= 'Z')
 		|| key == '^' || key == '_'
 		|| (key >= '{' && key <= '~')))
-	modifiers = 0;
+	modifiers &= ~MOD_MASK_SHIFT;
 
     // When used with Ctrl we always make a letter upper case,
     // so that mapping <C-H> and <C-h> are the same.  Typing
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 2188c2c..b6f718c 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2079,9 +2079,9 @@
   " check size with wrapping lines
   call term_sendkeys(buf, "j")
   call VerifyScreenDump(buf, 'Test_popupwin_scroll_12', {})
-  call term_sendkeys(buf, "x")
 
   " clean up
+  call term_sendkeys(buf, "x")
   call StopVimInTerminal(buf)
   call delete('XtestPopupScroll')
 endfunc
@@ -3347,6 +3347,12 @@
   call feedkeys("\u301b", 'xt')
   call assert_equal([0xe3, 0x80, 0x9b], g:bytes)
 
+  if has('unix')
+    " with modifyOtherKeys <M-S-a> does not include a modifier sequence
+    call feedkeys("\<Esc>[27;4;65~", 'Lx!')
+    call assert_equal([0xc3, 0x81], g:bytes)
+  endif
+
   call popup_clear()
   delfunc MyPopupFilter
   unlet g:bytes
diff --git a/src/version.c b/src/version.c
index 3ccf1dd..8b5ad4e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1015,
+/**/
     1014,
 /**/
     1013,
