diff --git a/src/eval.c b/src/eval.c
index 2d6c34b..ef0ea5e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -17928,6 +17928,7 @@
 
 static int	item_compare_ic;
 static int	item_compare_numeric;
+static int	item_compare_numbers;
 static char_u	*item_compare_func;
 static dict_T	*item_compare_selfdict;
 static int	item_compare_func_err;
@@ -17958,6 +17959,15 @@
     si2 = (sortItem_T *)s2;
     tv1 = &si1->item->li_tv;
     tv2 = &si2->item->li_tv;
+
+    if (item_compare_numbers)
+    {
+	long	v1 = get_tv_number(tv1);
+	long	v2 = get_tv_number(tv2);
+
+	return v1 == v2 ? 0 : v1 > v2 ? 1 : -1;
+    }
+
     /* tv2string() puts quotes around a string and allocates memory.  Don't do
      * that for string variables. Use a single quote when comparing with a
      * non-string to do what the docs promise. */
@@ -18091,6 +18101,7 @@
 
 	item_compare_ic = FALSE;
 	item_compare_numeric = FALSE;
+	item_compare_numbers = FALSE;
 	item_compare_func = NULL;
 	item_compare_selfdict = NULL;
 	if (argvars[1].v_type != VAR_UNKNOWN)
@@ -18116,6 +18127,11 @@
 			item_compare_func = NULL;
 			item_compare_numeric = TRUE;
 		    }
+		    else if (STRCMP(item_compare_func, "N") == 0)
+		    {
+			item_compare_func = NULL;
+			item_compare_numbers = TRUE;
+		    }
 		    else if (STRCMP(item_compare_func, "i") == 0)
 		    {
 			item_compare_func = NULL;
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 3f65f43..c7db949 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -69,7 +69,7 @@
 		test_writefile.out
 
 NEW_TESTS = test_assert.res \
-	    test_undolevels.res
+	    test_alot.res
 
 SCRIPTS_GUI = test16.out
 
diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim
new file mode 100644
index 0000000..9763509
--- /dev/null
+++ b/src/testdir/test_alot.vim
@@ -0,0 +1,5 @@
+" A series of tests that can run in one Vim invocation.
+" This makes testing go faster, since Vim doesn't need to restart.
+
+source test_undolevels.vim
+source test_sort.vim
diff --git a/src/testdir/test_sort.vim b/src/testdir/test_sort.vim
new file mode 100644
index 0000000..30dd167
--- /dev/null
+++ b/src/testdir/test_sort.vim
@@ -0,0 +1,19 @@
+" Test sort()
+
+func Test_sort_strings()
+  " numbers compared as strings
+  call assert_equal([1, 2, 3], sort([3, 2, 1]))
+  call assert_equal([13, 28, 3], sort([3, 28, 13]))
+endfunc
+
+func Test_sort_numeric()
+  call assert_equal([1, 2, 3], sort([3, 2, 1], 'n'))
+  call assert_equal([3, 13, 28], sort([13, 28, 3], 'n'))
+  " strings are not sorted
+  call assert_equal(['13', '28', '3'], sort(['13', '28', '3'], 'n'))
+endfunc
+
+func Test_sort_numbers()
+  call assert_equal([3, 13, 28], sort([13, 28, 3], 'N'))
+  call assert_equal(['3', '13', '28'], sort(['13', '28', '3'], 'N'))
+endfunc
diff --git a/src/version.c b/src/version.c
index 31273fe..4b2a1cb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    951,
+/**/
     950,
 /**/
     949,
