diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index 67268cd..37d1c0a 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -7,6 +7,7 @@
 "		2024 Nov 03 by Aliaksei Budavei <0x000c70 AT gmail DOT com> (improved bracket expressions, #15941)
 "		2025 Jan 06 add $PS0 to bashSpecialVariables (#16394)
 "		2025 Jan 18 add bash coproc, remove duplicate syn keywords (#16467)
+"		2025 Mar 21 update shell capability detection (#16939)
 " Version:		208
 " Former URL:		http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
 " For options and settings, please use:      :help ft-sh-syntax
@@ -17,6 +18,9 @@
   finish
 endif
 
+" Ensure this is set unless we find another shell
+let b:is_sh = 1
+
 " If the shell script itself specifies which shell to use, use it
 if getline(1) =~ '\<ksh\>'
  let b:is_kornshell = 1
@@ -24,55 +28,45 @@
  let b:is_bash      = 1
 elseif getline(1) =~ '\<dash\>'
  let b:is_dash      = 1
-elseif !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh") && !exists("g:is_dash")
- " user did not specify which shell to use, and
- " the script itself does not specify which shell to use. FYI: /bin/sh is ambiguous.
- " Assuming /bin/sh is executable, and if its a link, find out what it links to.
- let s:shell = ""
- if executable("/bin/sh")
-  let s:shell = resolve("/bin/sh")
- elseif executable("/usr/bin/sh")
-  let s:shell = resolve("/usr/bin/sh")
- endif
- if     s:shell =~ '\<ksh\>'
-  let b:is_kornshell= 1
- elseif s:shell =~ '\<bash\>'
-  let b:is_bash = 1
- elseif s:shell =~ '\<dash\>'
-  let b:is_dash = 1
- endif
- unlet s:shell
-endif
-
 " handling /bin/sh with is_kornshell/is_sh {{{1
 " b:is_sh will be set when "#! /bin/sh" is found;
 " However, it often is just a masquerade by bash (typically Linux)
 " or kornshell (typically workstations with Posix "sh").
-" So, when the user sets "g:is_bash", "g:is_kornshell",
-" or "g:is_posix", a b:is_sh is converted into b:is_bash/b:is_kornshell,
-" respectively.
-if !exists("b:is_kornshell") && !exists("b:is_bash") && !exists("b:is_dash")
-  if exists("g:is_posix") && !exists("g:is_kornshell")
-   let g:is_kornshell= g:is_posix
+" So, when the user sets "g:is_kornshell", "g:is_bash",
+" "g:is_posix" or "g:is_dash", a b:is_sh is converted into
+" b:is_kornshell/b:is_bash/b:is_posix/b:is_dash, respectively.
+elseif !exists("b:is_kornshell") && !exists("b:is_bash") && !exists("b:is_posix") && !exists("b:is_dash")
+ if exists("g:is_kornshell")
+  let b:is_kornshell= 1
+ elseif exists("g:is_bash")
+  let b:is_bash= 1
+ elseif exists("g:is_dash")
+  let b:is_dash= 1
+ elseif exists("g:is_posix")
+  let b:is_posix= 1
+ elseif exists("g:is_sh")
+  let b:is_sh= 1
+ else
+  " user did not specify which shell to use, and
+  " the script itself does not specify which shell to use. FYI: /bin/sh is ambiguous.
+  " Assuming /bin/sh is executable, and if its a link, find out what it links to.
+  let s:shell = ""
+  if executable("/bin/sh")
+   let s:shell = resolve("/bin/sh")
+  elseif executable("/usr/bin/sh")
+   let s:shell = resolve("/usr/bin/sh")
   endif
-  if exists("g:is_kornshell")
-    let b:is_kornshell= 1
-    if exists("b:is_sh")
-      unlet b:is_sh
-    endif
-  elseif exists("g:is_bash")
-    let b:is_bash= 1
-    if exists("b:is_sh")
-      unlet b:is_sh
-    endif
-  elseif exists("g:is_dash")
-    let b:is_dash= 1
-    if exists("b:is_sh")
-      unlet b:is_sh
-    endif
+  if     s:shell =~ '\<ksh\>'
+   let b:is_kornshell= 1
+  elseif s:shell =~ '\<bash\>'
+   let b:is_bash = 1
+  elseif s:shell =~ '\<dash\>'
+   let b:is_dash = 1
   else
-    let b:is_sh= 1
+   let b:is_posix = 1
   endif
+  unlet s:shell
+ endif
 endif
 
 " if b:is_dash, set b:is_posix too
@@ -80,6 +74,12 @@
  let b:is_posix= 1
 endif
 
+if exists("b:is_kornshell") || exists("b:is_bash")
+ if exists("b:is_sh")
+  unlet b:is_sh
+ endif
+endif
+
 " set up default g:sh_fold_enabled {{{1
 " ================================
 if !exists("g:sh_fold_enabled")
