diff -aur zsh-5.2.orig/Src/Zle/zle_keymap.c zsh-5.2/Src/Zle/zle_keymap.c --- zsh-5.2.orig/Src/Zle/zle_keymap.c 2016-06-10 20:46:56.314722009 -0700 +++ zsh-5.2/Src/Zle/zle_keymap.c 2016-06-10 20:48:46.138119537 -0700 @@ -1503,7 +1503,7 @@ f->widget->flags & ZLE_VIOPER); #ifdef MULTIBYTE_SUPPORT if ((f == Th(z_selfinsert) || f == Th(z_selfinsertunmeta)) && - !lastchar_wide_valid) { + !lastchar_wide_valid && !ispfx) { int len; VARARR(char, mbc, MB_CUR_MAX); ZLE_INT_T inchar = getrestchar(lastchar, mbc, &len);