diff --git a/highlighters/main/main-highlighter.zsh b/highlighters/main/main-highlighter.zsh
index 3f9b7a9..c317c73 100755
--- a/highlighters/main/main-highlighter.zsh
+++ b/highlighters/main/main-highlighter.zsh
@@ -226,7 +226,8 @@ _zsh_highlight_main_highlighter()
                  substr_color=1
                  ;;
         '`'*)    style=$ZSH_HIGHLIGHT_STYLES[back-quoted-argument];;
-        *[*?]*)  $highlight_glob && style=$ZSH_HIGHLIGHT_STYLES[globbing] || style=$ZSH_HIGHLIGHT_STYLES[default];;
+        [*?]*|*[^\\][*?]*)
+                 $highlight_glob && style=$ZSH_HIGHLIGHT_STYLES[globbing] || style=$ZSH_HIGHLIGHT_STYLES[default];;
         *)       if false; then
                  elif [[ $arg[0,1] = $histchars[0,1] ]]; then
                    style=$ZSH_HIGHLIGHT_STYLES[history-expansion]
diff --git a/highlighters/main/test-data/glob.zsh b/highlighters/main/test-data/glob.zsh
index ddae33d..502283e 100644
--- a/highlighters/main/test-data/glob.zsh
+++ b/highlighters/main/test-data/glob.zsh
@@ -28,10 +28,12 @@
 # vim: ft=zsh sw=2 ts=2 et
 # -------------------------------------------------------------------------------------------------
 
-BUFFER=': foo* bar?'
+BUFFER=': foo* bar? *baz qux\?'
 
 expected_region_highlight=(
   "1 1 $ZSH_HIGHLIGHT_STYLES[builtin]" # :
   "3 6 $ZSH_HIGHLIGHT_STYLES[globbing]" # foo*
   "8 11 $ZSH_HIGHLIGHT_STYLES[globbing]" # bar?
+  "13 16 $ZSH_HIGHLIGHT_STYLES[globbing]" # *baz
+  "18 22 $ZSH_HIGHLIGHT_STYLES[default]" # qux\?
 )