diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh
index 1de8bf91a..4424bb29a 100644
--- a/plugins/vi-mode/vi-mode.plugin.zsh
+++ b/plugins/vi-mode/vi-mode.plugin.zsh
@@ -16,10 +16,7 @@ function zle-keymap-select zle-line-init zle-line-finish {
 
 # Ensure that the prompt is redrawn when the terminal size changes.
 TRAPWINCH() {
-  if [[ -o zle ]]; then
-    zle reset-prompt
-    zle -R
-  fi
+  zle && { zle reset-prompt; zle -R }
 }
 
 zle -N zle-line-init