screen_name_reset=yes
 
     screen_preexec() {
+        # Get the application name excluding any arguments.
+        local program_name=${1%% *}
+
         # Ignore often used commands which are only running for a very short
         # time. This prevents a "blinking" name when it's changed to "cd" for
         # example and then some milliseconds later back to "zsh".
-        [[ ${1%% *} == (cd*|ls|la|ll|clear) ]] && return
+        [[ $program_name == (cd*|ls|la|ll|clear) ]] && return
 
         # Set the window name to the currently running program.
-        print -n "\ek${1%% *}\e\\"
+        print -n "\ek$program_name\e\\"
 
         # Tell precmd() to reset the window name when the program stops.
         screen_name_reset=yes