diff --git a/src/map.c b/src/map.c
index 00f4608..74fc60c 100644
--- a/src/map.c
+++ b/src/map.c
@@ -554,7 +554,7 @@
 		for ( ; mp != NULL && !got_int; mp = mp->m_next)
 		{
 		    // check entries with the same mode
-		    if ((mp->m_mode & mode) != 0)
+		    if (!mp->m_simplified && (mp->m_mode & mode) != 0)
 		    {
 			if (!haskey)		    // show all entries
 			{
@@ -599,15 +599,19 @@
 		for (mp = *mpp; mp != NULL && !got_int; mp = *mpp)
 		{
 
-		    if (!(mp->m_mode & mode))   // skip entries with wrong mode
+		    if ((mp->m_mode & mode) == 0)
 		    {
+			// skip entries with wrong mode
 			mpp = &(mp->m_next);
 			continue;
 		    }
 		    if (!haskey)	// show all entries
 		    {
-			showmap(mp, map_table != maphash);
-			did_it = TRUE;
+			if (!mp->m_simplified)
+			{
+			    showmap(mp, map_table != maphash);
+			    did_it = TRUE;
+			}
 		    }
 		    else	// do we have a match?
 		    {
@@ -643,8 +647,11 @@
 			    }
 			    else if (!hasarg)	// show matching entry
 			    {
-				showmap(mp, map_table != maphash);
-				did_it = TRUE;
+				if (!mp->m_simplified)
+				{
+				    showmap(mp, map_table != maphash);
+				    did_it = TRUE;
+				}
 			    }
 			    else if (n != len)	// new entry is ambiguous
 			    {
diff --git a/src/testdir/test_mapping.vim b/src/testdir/test_mapping.vim
index 93a4d4b..f62d575 100644
--- a/src/testdir/test_mapping.vim
+++ b/src/testdir/test_mapping.vim
@@ -442,3 +442,19 @@
   call delete('Xtest.vim')
   exe buf .. 'bwipe!'
 endfunc
+
+func Test_list_mappings()
+  inoremap <C-M> CtrlM
+  inoremap <A-S> AltS
+  inoremap <S-/> ShiftSlash
+  call assert_equal([
+	\ 'i  <S-/>       * ShiftSlash',
+	\ 'i  <M-S>       * AltS',
+	\ 'i  <C-M>       * CtrlM',
+	\], execute('imap')->trim()->split("\n"))
+  iunmap <C-M>
+  iunmap <A-S>
+  call assert_equal(['i  <S-/>       * ShiftSlash'], execute('imap')->trim()->split("\n"))
+  iunmap <S-/>
+  call assert_equal(['No mapping found'], execute('imap')->trim()->split("\n"))
+endfunc
diff --git a/src/version.c b/src/version.c
index 2042cb0..91cffb3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2159,
+/**/
     2158,
 /**/
     2157,
