diff --git a/src/ex_getln.c b/src/ex_getln.c
index d38fa4b..7928af7 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -316,6 +316,7 @@
 			&& (STRNCMP(cmd, "substitute", p - cmd) == 0
 			    || STRNCMP(cmd, "smagic", p - cmd) == 0
 			    || STRNCMP(cmd, "snomagic", MAX(p - cmd, 3)) == 0
+			    || STRNCMP(cmd, "sort", p - cmd) == 0
 			    || STRNCMP(cmd, "global", p - cmd) == 0
 			    || STRNCMP(cmd, "vglobal", p - cmd) == 0))
 		{
@@ -331,6 +332,16 @@
 			if (*skipwhite(p) == NUL)
 			    return FALSE;
 		    }
+
+		    // For ":sort" skip over flags.
+		    if (cmd[0] == 's' && cmd[1] == 'o')
+		    {
+			while (ASCII_ISALPHA(*(p = skipwhite(p))))
+			    ++p;
+			if (*p == NUL)
+			    return FALSE;
+		    }
+
 		    p = skipwhite(p);
 		    delim = *p++;
 		    end = skip_regexp(p, delim, p_magic, NULL);
@@ -359,7 +370,7 @@
 				search_last_line = ea.line2;
 			    }
 			}
-			else if (*cmd == 's')
+			else if (cmd[0] == 's' && cmd[1] != 'o')
 			{
 			    // :s defaults to the current line
 			    search_first_line = curwin->w_cursor.lnum;
diff --git a/src/testdir/dumps/Test_incsearch_sort_01.dump b/src/testdir/dumps/Test_incsearch_sort_01.dump
new file mode 100644
index 0000000..6c003af
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_sort_01.dump
@@ -0,0 +1,9 @@
+|a+0&#ffffff0|n|o|t|h|e|r| |o+1&&|n|e+0&&| |2| @56
+|t|h|a|t| |o+0&#ffff4012|n|e+0&#ffffff0| |3| @59
+|t|h|e| |o+0&#ffff4012|n|e+0&#ffffff0| |1| @60
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|s|o|r|t| |n|i| |u| |/|o|n> @55
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index 90a0a0e..da388cd 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -917,6 +917,33 @@
   call delete('Xis_subst_script')
 endfunc
 
+" Similar to Test_incsearch_substitute_dump() for :sort
+func Test_incsearch_ssort_dump()
+  if !exists('+incsearch')
+    return
+  endif
+  if !CanRunVimInTerminal()
+    return
+  endif
+  call writefile([
+	\ 'set incsearch hlsearch scrolloff=0',
+	\ 'call setline(1, ["another one 2", "that one 3", "the one 1"])',
+	\ ], 'Xis_sort_script')
+  let buf = RunVimInTerminal('-S Xis_sort_script', {'rows': 9, 'cols': 70})
+  " Give Vim a chance to redraw to get rid of the spaces in line 2 caused by
+  " the 'ambiwidth' check.
+  sleep 100m
+
+  " Need to send one key at a time to force a redraw.
+  call term_sendkeys(buf, ':sort ni u /on')
+  sleep 100m
+  call VerifyScreenDump(buf, 'Test_incsearch_sort_01', {})
+  call term_sendkeys(buf, "\<Esc>")
+
+  call StopVimInTerminal(buf)
+  call delete('Xis_sort_script')
+endfunc
+
 func Test_search_undefined_behaviour()
   if !has("terminal")
     return
diff --git a/src/version.c b/src/version.c
index 279908e..56ab418 100644
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    291,
+/**/
     290,
 /**/
     289,
