diff --git a/src/getchar.c b/src/getchar.c
index 3f83b84..da8132c 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2590,24 +2590,35 @@
 	    {
 #ifdef FEAT_LANGMAP
 		int	nomap = nolmaplen;
-		int	c2;
+		int	modifiers = 0;
 #endif
 		// find the match length of this mapping
 		for (mlen = 1; mlen < typebuf.tb_len; ++mlen)
 		{
+		    int	c2 = typebuf.tb_buf[typebuf.tb_off + mlen];
 #ifdef FEAT_LANGMAP
-		    c2 = typebuf.tb_buf[typebuf.tb_off + mlen];
 		    if (nomap > 0)
+		    {
+			if (nomap == 2 && c2 == KS_MODIFIER)
+			    modifiers = 1;
+			else if (nomap == 1 && modifiers == 1)
+			    modifiers = c2;
 			--nomap;
-		    else if (c2 == K_SPECIAL)
-			nomap = 2;
+		    }
 		    else
-			LANGMAP_ADJUST(c2, TRUE);
-		    if (mp->m_keys[mlen] != c2)
-#else
-		    if (mp->m_keys[mlen] !=
-					 typebuf.tb_buf[typebuf.tb_off + mlen])
+		    {
+			if (c2 == K_SPECIAL)
+			    nomap = 2;
+			else if (merge_modifyOtherKeys(c2, &modifiers) == c2)
+			    // Only apply 'langmap' if merging modifiers into
+			    // the key will not result in another character,
+			    // so that 'langmap' behaves consistently in
+			    // different terminals and GUIs.
+			    LANGMAP_ADJUST(c2, TRUE);
+			modifiers = 0;
+		    }
 #endif
+		    if (mp->m_keys[mlen] != c2)
 			break;
 		}
 
diff --git a/src/testdir/test_langmap.vim b/src/testdir/test_langmap.vim
index 36e2f55..2284704 100644
--- a/src/testdir/test_langmap.vim
+++ b/src/testdir/test_langmap.vim
@@ -49,6 +49,39 @@
   call feedkeys(';', 'tx')
   call assert_equal(5, col('.'))
 
+  set langmap=RL
+  let g:counter = 0
+  nnoremap L;L <Cmd>let g:counter += 1<CR>
+  nnoremap <C-L> <Cmd>throw 'This mapping shoud not be triggered'<CR>
+
+  " 'langmap' is applied to keys without modifiers when matching a mapping
+  call feedkeys('R;R', 'tx')
+  call assert_equal(1, g:counter)
+  nunmap L;L
+  unlet g:counter
+
+  delete
+  call assert_equal('', getline(1))
+  undo
+  call assert_equal('Hello World', getline(1))
+  " 'langmap' does not change Ctrl-R to Ctrl-L for consistency
+  call feedkeys("\<*C-R>", 'tx')
+  call assert_equal('', getline(1))
+
+  set langmap=6L
+  undo
+  setlocal bufhidden=hide
+  let oldbuf = bufnr()
+  enew
+  call assert_notequal(oldbuf, bufnr())
+  " 'langmap' does not change Ctrl-6 to Ctrl-L for consistency
+  " Ctrl-6 becomes Ctrl-^ after merging the Ctrl modifier
+  call feedkeys("\<*C-6>", 'tx')
+  call assert_equal(oldbuf, bufnr())
+  setlocal bufhidden&
+
+  nunmap <C-L>
+
   set langmap&
   quit!
 endfunc
diff --git a/src/version.c b/src/version.c
index 7f72a2c..3d1feae 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    806,
+/**/
     805,
 /**/
     804,
