diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index e3828da1435b053f6f51b5f9e80e938b83f5348a..80319e1a86966b4a763c9b6a4209607a99b7a4b1 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -27,7 +27,9 @@ function omz_termsupport_preexec {
   emulate -L zsh
   setopt extended_glob
   local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
-  title "$CMD" "%100>...>${2:gs/%/%%}%<<"
+  local LINE="${2:gs/$/\\$}"
+  LINE="${LINE:gs/%/%%}"
+  title "$CMD" "%100>...>$LINE%<<"
 }
 
 autoload -U add-zsh-hook